您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java中類的繼承怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java中類的繼承怎么用”這篇文章吧。
具體如下:
觀察兩個類的成員組成
提取相同的屬性和方法
寵物是父類,狗和金魚是子類。子類具有父類的屬性和方法。
是使用已存在的類作為基礎建立新類的技術。
單一繼承:只有一個父類。
父類可以叫做基類、超類。子類可以叫做派生類。
子類可以繼承父類中的成員(屬性和方法)。
但是需要注意:
1.private的成員不能繼承
2.子類和父類不在同一個程序包,使用默認訪問權限的成員不能繼承
3.構造器不能繼承。
設計繼承關系要符合里氏替換原則。is-a關系
子類是父類,可以完全替換掉父類,代碼沒有任何影響。
里氏替換原則(LSP):在一個軟件系統中,子類對象可以替換所有使用的父類對象,且程序行為沒有變化
在子類中,子類中的方法名、參數、返回值和父類中的完全相同,那么叫做子類重寫了父類中的方法。
只有實例成員方法才能重寫。靜態成員方法、靜態變量、實例成員變量不能重寫,隱藏。
重寫可以實現多態,隱藏不能實現多態
1.名字必須完全一致
2.參數 父類擦除后與子類一致;或者與子類完全一致。
3.返回值類型 可以完全一致,如果是引用類型,允許子類的返回值類型是父類的 子類
4.訪問修飾符 子類不能比父類更嚴格。
5.異常處理 不能比父類范圍更大。
1.子類修改了父類中的功能。
2.子類擴展了父類中的功能。
class 父類手機{ public void 來電顯示(){ 顯示電話號; }}
class 子類手機 extends 父類手機{ public void 來電顯示(){ 顯示電話號; 顯示人名; 顯示地址; }}
表示父類范圍
super關鍵和this作用類似,是被屏蔽的成員變量或者成員方法或變為可見,或者說用來引用被屏蔽的成員變量和成員成員方法。不過super是用在子類中,目的是訪問直接父類中被屏蔽的成員,注意是直接父類(就是類之上最近的超類)。
第一、在子類構造方法中要調用父類的構造方法,用“super(參數列表)”的方式調用,參數不是必須的。同時還要注意的一點是:“super(參數列表)”這條語句只能用在子類構造方法體中的第一行。
第二、當子類方法中的局部變量或者子類的成員變量與父類成員變量同名時,也就是子類局部變量覆蓋父類成員變量時,用“super.成員變量名”來引用父類成員變量。當然,如果父類的成員變量沒有被覆蓋,也可以用“super.成員變量名”來引用父類成員變量,不過這是不必要的。
第三、當子類的成員方法覆蓋了父類的成員方法時,也就是子類和父類有完全相同的方法定義(但方法體可以不同),此時,用“super.方法名(參數列表)”的方式訪問父類的方法。
以上是“Java中類的繼承怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。