91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java繼承是什么及怎么實現

發布時間:2022-04-27 10:44:50 來源:億速云 閱讀:216 作者:iii 欄目:開發技術

今天小編給大家分享一下Java繼承是什么及怎么實現的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1.什么是繼承

所謂繼承就是抽取類的共性,進而實現代碼的復用

繼承的關鍵字是extends

現在定義一個類Tree,里面有樹的名字、來源和科屬,方法是打印樹的形態特征,如下:

class Tree {
    String name;
    String source;
    String genu;
    public void trait() {
    }
}

上面的類除了方法trait外,其它成員都是重復的,所以我們再定義一個類Plant將這些重復的成員抽取出來,如下:

class Plant {
    String name;
    String source;
    String genu;
}

然后再讓Tree繼承Plant即可:

class Plant {
    String name;
    String source;
    String genu;
}
class Tree extends Plant{
    public void trait() {
 
    }
}

其中Tree是子類/派生類,Plant是父類/基類

那么Tree中是否真的有Plant中的成員,不妨實例化一個對象來看看:

Java繼承是什么及怎么實現

實例化的意義除了實現代碼的復用之外,還有則是實現多態,多態會在后面文章講到

2.繼承的細節

在了解什么是繼承之后來對繼承的一些細節進行深入了解

2.1super關鍵字

super在非靜態方法中使用,主要作用是在子類中訪問父類的成員,它可以作用于子類的成員變量、成員方法和構造方法,在構造方法的使用在子類構造方法中講解

  • 子類成員和父類成員重名

子類成員和父類成員重名會優先使用子類的成員,這一點很好證明,如圖:

Java繼承是什么及怎么實現

我們現在在Treed的trait中加入如下語句:

 public void trait() {
        System.out.println(super.name+"高可以達到30米");
    }

結果如圖:

Java繼承是什么及怎么實現

如果是方法重名,會構成重載或重寫,重寫是多態內容,這里只簡單介紹一下,就是父類和子類方法的返回值、方法名和參數都是相同的,如果是重載,可通過參數來判斷是訪問的誰的方法,重寫的話,在方法中添加 “super.方法名” 來訪問父類的方法

Java繼承是什么及怎么實現

2.2子類的構造方法

因為子類是繼承了父類的成員的,所以在寫子類構造方法時第一件事就是調用父類的構造方法,這里使用的依舊是super,我們在Plant中寫上一個有三個參數的構造方法:

public Plant(String name, String source, String genu) {
        this.name = name;
        this.source = source;
        this.genu = genu;
    }

子類的構造方法如下(假設子類沒有自己的成員變量):

public Tree(String name, String source, String genu) {
        super(name, source, genu);
    }

有一點需要注意:super()只能在構造方法中的第一行出現

之前在寫構造方法的時候講過:即使用戶沒有寫構造方法,編譯器也會提供一個不帶參數的構造方法,這里也同理,只不過子類構造方法中第一行會加上super()

2.3super和this區別

相同點不同點
只能在類的非靜態方法中用來訪問非靜態成員方法和成員變量
 
this是當前對象的引用,super相當于是在子類中引用繼承父類的那部分成員
 
在構造方法中使用只能放在第一行(所以構造方法中不能同時出現super()和this())this是非靜態成員方法的一個隱藏參數,super不是
 

以上就是“Java繼承是什么及怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秭归县| 怀来县| 顺昌县| 永年县| 上虞市| 宁德市| 民乐县| 资中县| 叙永县| 巨野县| 上虞市| 外汇| 安化县| 江都市| 海门市| 边坝县| 绥江县| 辽宁省| 日土县| 邳州市| 灌阳县| 托克托县| 响水县| 阳新县| 临洮县| 宁国市| 博爱县| 耿马| 拜泉县| 桓仁| 二连浩特市| 桦甸市| 辛集市| 台湾省| 镇安县| 陆良县| 仙居县| 新疆| 黄龙县| 灵武市| 固始县|