溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java中繼承指的是什么

發(fā)布時(shí)間:2020-08-20 14:46:11 來(lái)源:億速云 閱讀:134 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)java中繼承指的是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

java中繼承是什么?

Java中的繼承是一個(gè)對(duì)象獲取父對(duì)象的所有屬性和行為的機(jī)制。它是面向?qū)ο缶幊滔到y(tǒng)(OOP)的重要組成部分。

Java中繼承的思想是,創(chuàng)建基于現(xiàn)有類(lèi)的新類(lèi)。從現(xiàn)有類(lèi)中繼承,可以重用父類(lèi)的方法和字段。此外,還可以在當(dāng)前類(lèi)中添加新方法和字段。【相關(guān)視頻教程推薦:Java教程】

繼承表示IS-A關(guān)系,也稱(chēng)為父子關(guān)系。

繼承中使用的術(shù)語(yǔ)

1、類(lèi):類(lèi)是具有共同屬性的一組對(duì)象。它是創(chuàng)建對(duì)象的模板或藍(lán)圖。

2、子類(lèi):子類(lèi)是繼承其他類(lèi)的類(lèi)。它也稱(chēng)為派生類(lèi),擴(kuò)展類(lèi)或子類(lèi)。

3、超類(lèi)/父類(lèi):超類(lèi)是子類(lèi)繼承功能的類(lèi)。它也稱(chēng)為基類(lèi)或父類(lèi)。

4、可重用性:正如名稱(chēng)所指定的那樣,可重用性是一種機(jī)制,可以幫助您在創(chuàng)建新類(lèi)時(shí)重用現(xiàn)有類(lèi)的字段和方法。您可以使用上一課程中已定義的相同字段和方法。

為什么在java中使用繼承?

1、可以實(shí)現(xiàn)方法重寫(xiě)(這樣可以實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性)。

2、繼承允許我們重用代碼,它提高了Java應(yīng)用程序的可重用性。

Java繼承的實(shí)現(xiàn)

Java繼承的基本語(yǔ)法

要繼承一個(gè)類(lèi),我們使用extends關(guān)鍵字。這里的類(lèi)XYZ是子類(lèi),類(lèi)ABC是父類(lèi)。XYZ類(lèi)繼承了ABC類(lèi)的屬性和方法。

class Subclass-name extends Superclass-name  
{  
   //方法和字段  
}

extends關(guān)鍵字表示我們正在創(chuàng)建一個(gè)從現(xiàn)有類(lèi)中派生的新類(lèi)。“extends”的含義是增加功能性。

在Java術(shù)語(yǔ)中,被繼承的類(lèi)稱(chēng)為父類(lèi)或超類(lèi),新類(lèi)稱(chēng)為子類(lèi)。

繼承示例:

在下面的繼承示例中,類(lèi)Bicycle是一個(gè)基類(lèi),類(lèi)MountainBike是一個(gè)派生類(lèi),它擴(kuò)展了Bicycle類(lèi),而類(lèi)Test是一個(gè)運(yùn)行程序的驅(qū)動(dòng)程序類(lèi)。

//用java程序來(lái)說(shuō)明
// 繼承的概念
  
// 基類(lèi)
class Bicycle  
{ 
    // Bicycle類(lèi)有兩個(gè)字段
    public int gear; 
    public int speed; 
          
    // Bicycle類(lèi)有一個(gè)構(gòu)造函數(shù)
    public Bicycle(int gear, int speed) 
    { 
        this.gear = gear; 
        this.speed = speed; 
    } 
          
    // Bicycle類(lèi) 有三種方法
    public void applyBrake(int decrement) 
    { 
        speed -= decrement; 
    } 
          
    public void speedUp(int increment) 
    { 
        speed += increment; 
    } 
      
    // toString()方法來(lái)輸出 Bicycle類(lèi)信息
    public String toString()  
    { 
        return("沒(méi)有的齒輪個(gè)數(shù)是 "+gear 
                +"\n"
                + "自行車(chē)的速度是"+speed); 
    }  
} 
  
// 派生類(lèi)
class MountainBike extends Bicycle  
{ 
      
    // MountainBike子類(lèi)增加一個(gè)字段
    public int seatHeight; 
  
    // MountainBike子類(lèi)  有一種構(gòu)造函數(shù)
    public MountainBike(int gear,int speed, 
                        int startHeight) 
    { 
        // 調(diào)用基類(lèi)(Bicycle類(lèi))構(gòu)造函數(shù)
        super(gear, speed); 
        seatHeight = startHeight; 
    }  
          
    // MountainBike子類(lèi)增加一個(gè)方法
    public void setHeight(int newValue) 
    { 
        seatHeight = newValue; 
    }  
      
    // 重寫(xiě)toString()方法
    // 輸出跟多Bicycle類(lèi)信息 
    @Override
    public String toString() 
    { 
        return (super.toString()+ 
                "\n 座位高度為 "+seatHeight); 
    } 
      
} 
  
// 驅(qū)動(dòng)程序類(lèi)
public class Test  
{ 
    public static void main(String args[])  
    { 
          
        MountainBike mb = new MountainBike(3, 100, 25); 
        System.out.println(mb.toString()); 
              
    } 
}

輸出:

java中繼承指的是什么

Java中的繼承類(lèi)型

在類(lèi)的基礎(chǔ)上,java中可以有三種類(lèi)型的繼承:?jiǎn)我唬嗉?jí)和分層。

1、單一繼承:在單一繼承中,子類(lèi)繼承一個(gè)超類(lèi)的特征。在下圖中,類(lèi)A充當(dāng)派生類(lèi)B的基類(lèi)。

java中繼承指的是什么

2、多級(jí)繼承: 在多級(jí)繼承中,派生類(lèi)將繼承基類(lèi),并且派生類(lèi)也充當(dāng)其他類(lèi)的基類(lèi)。在下面的圖像中,類(lèi)A用作派生類(lèi)B的基類(lèi),后者又用作派生類(lèi)C的基類(lèi)。在Java中,類(lèi)不能直接訪問(wèn)祖父母的成員。

java中繼承指的是什么

3、分層繼承:在分層繼承中,一個(gè)類(lèi)充當(dāng)多個(gè)子類(lèi)的超類(lèi)(基類(lèi))。在下面的圖像中,類(lèi)A充當(dāng)派生類(lèi)B,C和D的基類(lèi)。

java中繼承指的是什么

4、多重繼承(通過(guò)接口):在多重繼承中,一個(gè)類(lèi)可以具有多個(gè)超類(lèi),并從所有父類(lèi)繼承功能。請(qǐng)注意,Java并沒(méi)有支持多重繼承與類(lèi)。在java中,我們只能通過(guò) Interfaces實(shí)現(xiàn)多重繼承。在下圖中,C類(lèi)來(lái)自界面A和B。

java中繼承指的是什么

5、混合繼承(通過(guò)接口):它是兩種或多種上述類(lèi)型的繼承的混合。由于java不支持使用類(lèi)進(jìn)行多重繼承,因此類(lèi)也無(wú)法實(shí)現(xiàn)混合繼承。在java中,我們只能通過(guò)Interfaces實(shí)現(xiàn)混合繼承。

java中繼承指的是什么

關(guān)于java中繼承指的是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI