super關(guān)鍵字的使用
- 代表父類引用,訪問父類成員方法
super.print();
- 訪問父類屬性
super.name;
- 訪問父類的構(gòu)造方法
super();
子類的構(gòu)造的過程中必須調(diào)用其父類的構(gòu)造方法
如果子類的構(gòu)造方法中沒有顯式標注套利,則系統(tǒng)默認調(diào)用父類的無參構(gòu)造方法
如果子類構(gòu)造方法中既沒有顯式標注灯谣,且父類沒有無參構(gòu)造方法棕兼,則編譯錯誤
使用super調(diào)用父類指定構(gòu)造方法障斋,必須放在子類的構(gòu)造方法的第一行
public Cat(String name,int month){
/* 子類構(gòu)造默認調(diào)用父類無參構(gòu)造方法
* 可以通過super()調(diào)用父類允許被訪問的其他構(gòu)造方法
* super()必須放在子類構(gòu)造方法有效代碼第一行
*/
super(name,month); //this
System.out.println("我是子類的帶參構(gòu)造方法");
}
- 父類的構(gòu)造不允許被繼承贞瞒、不允許被重寫契邀,但是會影響子類對象的實例化
this與super關(guān)鍵字的比較
this:當(dāng)前對象的引用
- 訪問當(dāng)前類的成員方法
- 訪問當(dāng)前類的成員屬性
- 訪問當(dāng)前類的構(gòu)造方法
- 不能在靜態(tài)方法中使用
super:父類對象的引用
- 訪問父類的成員方法
- 訪問父類的成員屬性
- 訪問父類的構(gòu)造方法
- 不能在靜態(tài)方法中使用
super和this:
- 構(gòu)造方法調(diào)用時摆寄,super和this不能同時出現(xiàn)
final關(guān)鍵字的使用
修飾類表示不允許被繼承
修飾方法表示不允許被子類重寫
- ==final修飾的方法可以被繼承==
- 不能修飾構(gòu)造方法
- 修飾變量表示不允許修改
- 方法內(nèi)的局部變量 -->在使用之前被初始化賦值即可
- 類中成員變量 --> 只能在定義時、構(gòu)造方法、構(gòu)造代碼塊中進行
- 基本數(shù)據(jù)類型的變量 --> 初始賦值之后不能更改
- 引用數(shù)據(jù)類型 --> 初始化之后不能再指向另一個對象微饥,但對象的內(nèi)容是可變的
- 可配合static使用
- 方法
- 變量
- final修飾可以提高性能逗扒,但會降低可擴展性