您好,歡迎來到賦能網(wǎng)!

java中繼承和派生的區(qū)別是什么?實例分析

賦能網(wǎng) 2023-05-09 80

繼承和派生都是java重要知識點,繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因為它允許創(chuàng)建分等級層次的類。而在java的繼承關(guān)系中,新的類稱為子類,也叫派生類。那java中繼承和派生的區(qū)別是什么?下面來我們就來給大家講解一下。

1.繼承

繼承,顧名思義,就是把已經(jīng)有的拿過來歸為己用,java中的繼承也不例外。舉個例子,假如現(xiàn)在有這樣一個需求,讓我們寫一個關(guā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是繼承的關(guān)鍵字,通過extends,我們實現(xiàn)了讓拉布拉多這個類繼承了Dog這個類,這不難理解,畢竟,拉布拉多就是狗的一種嘛?,F(xiàn)在,由于我們的訪問權(quán)限設(shè)置的都是public,那么父類具有的東西子類也有,于是,拉布拉多也有了名字、年齡兩個成員變量,有了跑和叫兩個方法。

2. 派生

顧名思義,派生是在繼承了一些東西的基礎(chǔ)上增添了新的東西,派生是依存于繼承的,子類在拿來父類的東西去使用的同時,可以增添新的東西或者對繼承來的東西進(jìn)行覆寫讓其適用于子類。例如,我們現(xiàn)在在繼承了Dog類的拉布拉多類中新增一個給盲人導(dǎo)盲的方法daoMang(),那么,我們僅僅用子類對象才能調(diào)用這個方法,而用父類對象無法調(diào)用,因為這個方法是子類拉布拉多類獨有的,也就是說,這是從父類的基礎(chǔ)上拓展出來的方法,也就是派生。此時的拉布拉多,既可以使用父類Dog類的所有狗都共有的run和bark方法,也同時具有了Dog類的name和age的狗的基本屬性。

public class Labuladuo extends Dog
{
    public void daoMang()
    {
        System.out.println("我會導(dǎo)盲!");
    }
}

其實派生是在繼承了一些東西的基礎(chǔ)上增添了新的東西,派生是依存于繼承的,并且java的繼承關(guān)系中,新的類稱是子類,也就是派生類。最后大家如果想要了解更多java初識知識,敬請關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java中繼承和派生的區(qū)別是什么?實例分析”已幫助 80 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: