java 類繼承

image.png

繼承 規(guī)則
在java中使用extends關(guān)鍵字來表示繼承
當(dāng)創(chuàng)建一個類時,總是在繼承,如果沒有明確的指出要繼承的類,就總是隱式的從根類Object進行繼承
如果兩個類存在繼承關(guān)系,則子類會自動繼承父類的方法和成員變量,在子類中可以調(diào)用父類的方法和變量。在java中中只允許單繼承:一個類只能顯示的繼承于一個類。但是一個類卻可以被多個類繼承,即一個類可以擁有多個子類
成員變量
子類能夠繼承父類的public和protected成員變量,不能給繼承父類的private成員變量
對于父類的包訪問權(quán)限成員變量,如果子類和父類在同一個包下,則子類能夠繼承,否則,不能
對于子類可以繼承的父類成員變量,如果在子類中出現(xiàn)了同名稱的成員變量,則會發(fā)生隱藏現(xiàn)象
即子類的成員變量會屏蔽掉父類的同名成員變量。若想在子類中訪問父類中同名成員變量,需使用supper關(guān)鍵字進行引用
成員方法
子類能夠繼承父類的public和protected成員方法,不能給繼承父類的private成員方法
對于父類的包訪問權(quán)限成員方法,如果子類和父類在同一個包下,則子類能夠繼承,否則,不能
對于子類可以繼承的父類成員變量,如果在子類中出現(xiàn)了同名稱的成員變量,則會發(fā)生覆蓋現(xiàn)象
即子類的成員變量會屏蔽掉父類的同名成員方法。若想在子類中訪問父類中同名成員方法,需使用supper關(guān)鍵字進行引用
構(gòu)造器
子類是不能夠繼承父類的構(gòu)造器
如果父類的構(gòu)造器都是帶有參數(shù)的,則必須在子類的構(gòu)造器中顯示地通過super關(guān)鍵字調(diào)用父類的構(gòu)造器并配以適當(dāng)?shù)膮?shù)列表
如果父類有無參構(gòu)造器,則在子類的構(gòu)造器中用super關(guān)鍵字調(diào)用父類構(gòu)造器不是必須的
如果沒有使用super關(guān)鍵字,系統(tǒng)會自動調(diào)用父類的無參構(gòu)造器
supper
super.成員變量/super.成員方法;
子類中調(diào)用父類的同名成員變量或者方法
super(parameter1,parameter2....)
子類的構(gòu)造器中顯示地調(diào)用父類的構(gòu)造器,要注意的是,如果是用在子類構(gòu)造器中,則必須是子類構(gòu)造器的第一個語句。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容