java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...
方法重載的規(guī)則:
1、必須發(fā)生在同一個類的下面
2、必須保證方法名字相同
3、參數(shù)列表不同
參數(shù)的類型不同
參數(shù)的個數(shù)不同
參數(shù)的順序不同
4、返回值:和返回值無關(guān)
5、修飾符:和修飾符無關(guān)
6、拋出異常:無關(guān)
例子:
public void add(int i);
public void add(double d);
public void add(long l);
poublc void add(String s);
方法重寫(也叫做覆寫):
1、一定發(fā)生在繼承關(guān)系中
2、子類中重寫父類中存在的方法
3、規(guī)則:
方法名稱必須相同
參數(shù)列表必須相同
子類返回值類型可以比父類小,至少要相同
子類拋出的異常比父類的小,至少要相同
子類的權(quán)限訪問必須比父類的大,至少要相同
例子:
如果父類返回值是默認(rèn)的,子類重寫返回值不可以為private,可以與父類相同也可以定義為public;
總結(jié):重寫要滿足 "在子父類中,兩同兩小一大""
static修飾符:(靜態(tài))
修飾變量:靜態(tài)變量,被該類的所有對象共享,只存在一個
成員變量:只能修飾這個
局部變量:不可以修飾局部變量
修飾方法:靜態(tài)方法
靜態(tài)方法中不能夠出現(xiàn)非靜態(tài)的成員變量
靜態(tài)方法的調(diào)用方式:類名.方法名();不用創(chuàng)建對象,因?yàn)橐蕾嚺c類存在
非靜態(tài)方法中可以使用靜態(tài)變量
非靜態(tài)方法的調(diào)用方式:對象名.方法名();需要創(chuàng)建對象,因?yàn)橐蕾嚺c對象存在
修飾代碼塊:靜態(tài)代碼塊 ?{}
靜態(tài)代碼塊隨著程序的運(yùn)行,只會執(zhí)行一次
非靜態(tài)的代碼塊會隨著對象的創(chuàng)建而執(zhí)行,有幾個對象,則執(zhí)行幾次
注意:如果同時出現(xiàn)多個靜態(tài)代碼塊和普通代碼塊,則靜態(tài)代碼塊優(yōu)先按照聲明的順序進(jìn)行,只執(zhí)行一次,
然后在按照普通代碼塊的聲明順序開始進(jìn)行
總結(jié):靜態(tài)成員依賴于類的存在
非靜態(tài)(實(shí)例)成員是依賴于對象的存在
final修飾符:(最終的、最后的、不可改變的)
變量:
final變量能被顯示的初始化并且只能初始一次,被聲明為final的對象的引用不能指向不同的對象,但是final對象里的數(shù)據(jù)可以被改變 也就是說final對象的引用不能改變,但是里面的值可以改變; final修飾變量相當(dāng)于一個常量,只可以賦值一次;
靜態(tài)變量:必須在聲明的時候顯性的賦值
實(shí)例變量:可以在聲明階段先聲明,可以在構(gòu)造器中進(jìn)行初始化,如果有多個構(gòu)造器,則每一個構(gòu)造器中都要對該實(shí)例變量進(jìn)行初始化
方法:
被final修飾的方法不可以被子類重寫
類:
final修飾類不可以被繼承,說明該類功能已經(jīng)很完整,不允許再擴(kuò)展
String
StringBuffer
StringBuilder
append
代碼塊:不能修飾代碼塊
構(gòu)造器:不能修飾構(gòu)造器
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ebs和java哪个前景好_EBS与实例
- 下一篇: java中批次号_在一个批次中插入多笔记