繼承和派生都是java重要知識點,繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因為它允許創(chuàng)建分等級層次的類。而在java的繼承關系中,新的類稱為子類,也叫派生類。那java中繼承和派生的區(qū)別是什么?下面來我們就來給大家講解一下。
1.繼承
繼承,顧名思義,就是把已經(jīng)有的拿過來歸為己用,java中的繼承也不例外。舉個例子,假如現(xiàn)在有這樣一個需求,讓我們寫一個關于狗的Dog類,Dog類中有狗的名字、年齡,還有狗的兩種行為,也就是這個類的兩種方法,分別是run(跑)方法和bark(犬吠)方法,那么我們就可以這樣寫:
public class Dog { String name; int age; public void run() { System.out.println("狗在跑!"); } public void bark() { System.out.println("狗在叫!"); } }
很好,我們實現(xiàn)了Dog這個類,那么現(xiàn)在如果讓我們寫一個拉布拉多類(狗的一種)呢?顯然,拉布拉多也具有名字、年齡、跑、叫的行為,那么如果我們從頭開始寫拉布拉多這個類,就太麻煩了,我們還要重新寫一遍剛才寫的東西,這個時候,就要用到繼承,所以我們可以這樣去寫:
public class Labuladuo extends Dog {}
extends是繼承的關鍵字,通過extends,我們實現(xiàn)了讓拉布拉多這個類繼承了Dog這個類,這不難理解,畢竟,拉布拉多就是狗的一種嘛?,F(xiàn)在,由于我們的訪問權(quán)限設置的都是public,那么父類具有的東西子類也有,于是,拉布拉多也有了名字、年齡兩個成員變量,有了跑和叫兩個方法。
2. 派生
顧名思義,派生是在繼承了一些東西的基礎上增添了新的東西,派生是依存于繼承的,子類在拿來父類的東西去使用的同時,可以增添新的東西或者對繼承來的東西進行覆寫讓其適用于子類。例如,我們現(xiàn)在在繼承了Dog類的拉布拉多類中新增一個給盲人導盲的方法daoMang(),那么,我們僅僅用子類對象才能調(diào)用這個方法,而用父類對象無法調(diào)用,因為這個方法是子類拉布拉多類獨有的,也就是說,這是從父類的基礎上拓展出來的方法,也就是派生。此時的拉布拉多,既可以使用父類Dog類的所有狗都共有的run和bark方法,也同時具有了Dog類的name和age的狗的基本屬性。
public class Labuladuo extends Dog { public void daoMang() { System.out.println("我會導盲!"); } }
其實派生是在繼承了一些東西的基礎上增添了新的東西,派生是依存于繼承的,并且java的繼承關系中,新的類稱是子類,也就是派生類。最后大家如果想要了解更多java初識知識,敬請關注賦能網(wǎng)。
本文鏈接:
本文章“java中繼承和派生的區(qū)別是什么?實例分析”已幫助 80 人
免責聲明:本信息由用戶發(fā)布,本站不承擔本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓機構(gòu)》培訓課程》學習資訊》課程優(yōu)惠》課程開班》學校地址等機構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579