Java繼承

一、Java繼承詳解

Java繼承
目錄:
1.為什么要”繼承“?
2.繼承的類型
2.1 單繼承
2.2 多重繼承
2.3 多個子類繼承一個基類
2.4 Java沒有多繼承
3.繼承的特性
4.繼承關(guān)鍵字?
4.1 extends-繼承類
4.2 implements-繼承接口,可以變相實行多繼承
4.3 super-父類(直接看成類名)
4.4 this-當前類
4.5 final
4.5.1 final修飾類-不繼承
注:final修飾的類中,成員方法默認為final,成員變量不是默認為final
4.5.2 final修飾成員方法-只繼承不能重寫
4.5.3 final修飾成員變量-常量
4.6 構(gòu)造器
4.6.1 無參構(gòu)造器-默認調(diào)用父類的無參構(gòu)造器
4.6.2 有參構(gòu)造器-用super關(guān)鍵字調(diào)用父類的有參構(gòu)造器

二、要注意的點

1.構(gòu)造器
(1)子類的構(gòu)造器中調(diào)用父類的構(gòu)造方法必須放在第一行,否則會報錯
(2)子類的構(gòu)造器如果沒有調(diào)用父類的有參構(gòu)造方法,就會在第一行默認調(diào)用父類的無參構(gòu)造方法,但子類的構(gòu)造器如果調(diào)用了父類的有參構(gòu)造方法,則不會默認調(diào)用父類的無參構(gòu)造方法
(3)子類的構(gòu)造器中調(diào)用父類的有參構(gòu)造器要用super關(guān)鍵字
(4) 父類如果含有有參構(gòu)造方法,最好顯示寫出無參構(gòu)造方法,因為子類可能會默認調(diào)用父類的無參構(gòu)造方法,如果不顯示寫出無參構(gòu)造方法,則會報錯
代碼來源

//基類的無參構(gòu)造器和有參構(gòu)造器
class SuperClass
{
    private int n;
    //無參構(gòu)造器
    SuperClass()
    {
        System.out.println("SuperClass()");
    }
    //有參構(gòu)造器
    SuperClass(int n)
    {
        System.out.println("SuperClass(int n)");
        //this.n指向的是變量n,n指向的是參數(shù)n
        this.n = n;
    }
}
class SubClass extends SuperClass
{
    private int n;
    SubClass()
    {
        //調(diào)用父類有參構(gòu)造器,則不會自動調(diào)用父類的無參構(gòu)造器
        super(300);
        System.out.println("SubClass");
        System.out.println("————————————————");
        
    }
    public SubClass(int n)
    {
        //第一行默認調(diào)用父類無參構(gòu)造器
        //Super()
        System.out.println("SubClass(int n):"+n);
        this.n = n;
    }
}
public class InitializerTest {

    public static void main(String[] args) {
        SubClass sc = new SubClass();
        SubClass sc2 = new SubClass(200);
    }

}

輸出結(jié)果為:
SuperClass(int n)
SubClass
————————————————
//默認調(diào)用父類的無參構(gòu)造器
SuperClass()
SubClass(int n):200

搞笑??一刻

來自@FS

面向?qū)ο缶幊讨谐R姼拍钌钊肜斫?png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 繼承的概念 繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因為它允許創(chuàng)建分等級層次的類。 繼承就是子類繼承父類的特征和...
    耳東陳_f1e5閱讀 1,043評論 0 4
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,115評論 2 9
  • 一、繼承 概述繼承是面向?qū)ο蟮闹匾卣髦唬敹鄠€類中存在相同的屬性和行為時,將這些內(nèi)容抽取到單獨一個類中,那多個...
    java部落閱讀 1,015評論 0 0
  • 一、繼承 1. 概述 繼承是面向?qū)ο蟮闹匾卣髦?,當多個類中存在相同的屬性和行為時,將這些內(nèi)容抽取到單獨一個類中...
    陳凱冰閱讀 407評論 0 2
  • 我借的書又超期了 你借的書超期三天。 當我把借的五本書放在圖書館管的電腦系統(tǒng)里,人家告訴我這事時,我一點也不奇怪。...
    胡五妹1964閱讀 116評論 0 1

友情鏈接更多精彩內(nèi)容