溫馨提示×

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

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

java實(shí)現(xiàn)繼承的方法

發(fā)布時(shí)間:2020-06-28 20:19:17 來源:億速云 閱讀:143 作者:元一 欄目:編程語(yǔ)言

本篇文章為大家展示了java實(shí)現(xiàn)繼承的方法,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因?yàn)樗试S創(chuàng)建分等級(jí)層次的類。繼承就是子類繼承父類的特征和行為,使得子類對(duì)象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。

在 Java 中通過 extends 關(guān)鍵字可以申明一個(gè)類是從另外一個(gè)類繼承而來的。

例如我們已經(jīng)定義了一個(gè)類 People:

class People{
    String name;
    int age;
    int height;
   
    void say(){
        System.out.println("我的名字是 " + name + ",年齡是 " + age + ",身高是 " + height);
    }
}

如果現(xiàn)在需要定義一個(gè)類 Teacher,它也有 name、age、height 屬性和 say() 方法,另外還需要增加 school、seniority、subject 屬性和 lecturing() 方法,怎么辦呢?我們要重新定義一個(gè)類嗎?

完全沒必要,可以先繼承 People 類的成員,再增加自己的成員即可,例如:

class Teacher extends People{
    String school;  // 所在學(xué)校
    String subject;  // 學(xué)科
    int seniority;  // 教齡
   
    // 覆蓋 People 類中的 say() 方法
    void say(){
        System.out.println("我叫" + name + ",在" + school + "教" + subject + ",有" + seniority + "年教齡");
    }
   
    void lecturing(){
        System.out.println("我已經(jīng)" + age + "歲了,依然站在講臺(tái)上講課");
    }
}

對(duì)程序的說明

name 和 age 變量雖然沒有在 Teacher 中定義,但是已在 People 中定義,可以直接拿來用。

Teacher 是 People 的子類,People 是Teacher 類的父類。

子類可以覆蓋父類的方法。

子類可以繼承父類除private以為的所有的成員。

構(gòu)造方法不能被繼承。

繼承是在維護(hù)和可靠性方面的一個(gè)偉大進(jìn)步。如果在 People 類中進(jìn)行修改,那么 Teacher 類就會(huì)自動(dòng)修改,而不需要程序員做任何工作,除了對(duì)它進(jìn)行編譯。

單繼承性:Java 允許一個(gè)類僅能繼承一個(gè)其它類,即一個(gè)類只能有一個(gè)父類,這個(gè)限制被稱做單繼承性。后面將會(huì)學(xué)到接口(interface)的概念,接口允許多繼承。

注意:Java 不支持多繼承,但支持多重繼承

上述內(nèi)容就是java實(shí)現(xiàn)繼承的方法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(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