今天開始學java(十三)繼承

繼承是多態的前提,如果沒有繼承,就沒有多態
繼承主要解決的問題是:共性抽取
繼承關係的特點
1、子類可以擁有父類的“內容”
2、子類可以擁有自己專屬的新內容
在繼承的關係中,“子類,就是一個父類”,也就是說,子類可以被當做父類看待
定義父類的格式:(一個普通的類定義):

public class 弗雷名稱{
//...
}

定義子類的格式:

public class 子類名稱 extends 父類名稱{
//...
}

繼承的覆寫

繼承的重寫:在繼承關係中,方法的名稱一樣,參數列表也一樣,就產生了方法的重寫
重寫(override):方法的名稱一樣,參數列表也一樣。覆蓋。覆寫
重載(overload):方法的名稱一樣,參數列表不一樣
方法的覆蓋重寫特點:創建的是子類對象,則優先使用子類方法

注意事項:

1、必須保證父子類之間方法的名稱相同,參數列表也相同
@Override:寫在方法前面,用來檢測是否有效正確覆蓋重寫,方法名和參數寫錯了這個註解就會報錯
這個註解就算不寫,只要滿足要求,也是正確的方法覆蓋重寫
2、子類方法的返回值必須小於等於父類方法的返回值範圍

繼承關係中:父子類構造方法的訪問特點:
1、子類構造方法當中有一個默認隱含的“super()”調用所以一定是先調用父類構造,再執行子類構造
2、子類構造可以通過super關鍵字來調用父類重載構造
3、super的父類構造調用,必須是子類構造方法的第一個語句,不能一個子類構造調用多次的super構造
總結:子類必須調用父類構造方法,不寫的話編譯器默認贈送一個super(),寫了則用指定的super調用,super只能有一個,而且必須是第一個分號

super關鍵字的用法有三種:
1、在子類成員方法中,訪問父類的成員變量:super.變量名
2、在子類的成員方法中,訪問父類的成員方法:super.方法名();
3、在子類的構造方法中,訪問父類的構造方法:super();

java語言是單繼承的,一個類的直接父類只能有唯一一個。
但java語言可以多級繼承:比如說B繼承A,C再繼承B,也就是說一個子類的直接父類是唯一的,但是一個父類可以擁有很多個子類
class A{}
class B extends A{}
class C extends A{}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章