1 、super用於方法
《1》用於構造方法(重要)——super(引數列表)
當子類呼叫父類無參構造方法時,super()可寫可不寫;表示呼叫父類無參構造。
當子類呼叫父類有參構造方法時,super(引數列表)必須要寫,要告訴編譯器當前呼叫的是那個有參構造。
注意:
a. 子類構造方法中呼叫父類構造必須是第一行
b.this與super不能同時呼叫
《2》用於普通方法
用法:super.方法名(引數)
用於在子類中明確呼叫父類中被覆寫的方法
2 、super用於屬性(了解)
用法:super.屬性名
表示呼叫父類中被覆寫的屬性,許可權不是private
當乙個類被final修飾,表示該類不可以擁有子類(不允許有繼承);
一旦乙個類被final修飾,該類的所有方法都會預設加上final(成員變數不會加final)
《1》 final修飾方法
當乙個方法被final修飾,明確表示該方法不允許被覆寫
當乙個方法被private修飾後,相當於加了乙個final關鍵字
《2》 final修飾屬性——常量
1.final修飾普通資料型別的成員變數(最主要的用途)
被final修飾的成員變數:
①必須在宣告時初始化,並且初始化後值無法被修改;
②也可在構造塊或構造方法中初始化
** 注意區分**
public final int a=10;(棧中)
public static int b=20;(全域性資料區,共享)
final 變數——是常量,每個物件都有自己的final變數,在每個物件產生時初始化;
static final——全域性變數,所有物件共享,在類載入時初始化,效率較高,通過類名呼叫
全域性變數命名規範:
多個單詞全大寫,單詞之間用_分隔
初始化全域性變數方法:在靜態**塊中初始化
2、final修飾引用資料型別的變數(值不能改變)
eg:class person
public static void main()
3、final修飾的引用變數,資料型別也不可變
解析:出錯的是——語句1,3,4
語句1——b1,b2都為int型,b3為byte可能丟失資料——錯誤
語句2——b1為int型,b4為byte切不可變,故不能提公升為int,錯誤
語句3——同上
Final類和Final方法
終止繼承 final類 當關鍵字final用來修飾類時,其含義是該類不能在派生子類。換句話說,任何其他類都不能繼承用final修飾的類,即使該類的訪問限制為public型別,也不能被繼承 否則,將編譯報錯。可以繼承的其他類。什麼時候應該使用final修飾類呢?只有當需要確保類中的所有方法都不被重寫時...
java super 的使用注意
class testthread extends thread public void run catch interruptedexception exception system.out.println getname finished public class helloworld exten...
Java super關鍵字詳解
一.super關鍵字作用 1 主要存在於子類方法中,用於指向子類物件中父類物件。2 訪問父類的屬性 3 訪問父類的函式 4 訪問父類的建構函式 二.super注意的地方 this和super很像,this指向的是當前物件的呼叫,super指向的是當前呼叫物件的父類。類載入完畢,建立物件,父類的構造方...