您好,登錄后才能下訂單哦!
一,繼承的概念
繼承是java面向對象編程技術的一塊基石,因為它允許創建分等級層次的類。
繼承就是子類繼承父類的特征和行為,OA信用盤盤口搭建架設bbs.yasewl.com(Q_917899899)使得子類對象(實例)具有父類的實例字段,或子類從父類繼承方法,使得子類具有父類相同的行為。父類更通用,子類更具體。
Java在實現繼承的手段上與其它面向對象語言存在著較大的差異。在Java中,所有的繼承都是公有繼承。
超類和子類是Java程序員最常用的兩個術語。其它術語為基類、祖先類、父類;派生類、(孩)子類。
子類和父類之間,“is-a”是繼承的一個明顯特征,是一個用來判斷是否應該設計為繼承關系的簡單規則,它表明子類的每個對象也是超類的對象。“is-a”規則的另一個表述法是置換法則,它表明程序中出現超類對象的任何地方都可以用子類對象置換。
前綴“超”和“子”來源于計算機科學和數學理論中的集合語言的術語。
例如:雇員集合是經理集合的超集,也可以說,經理集合是雇員集合的子集。
this和super的區別:
this和super都是Java的關鍵字,具有特殊的語義。
1、this
1)this是Java的關鍵字,具有特殊的語義。
2)this是編譯器自動加入實例方法的隱式引用形參,是一個對該類或該類派生類實例對象的引用形參。
3)形參不能與this同名。
4)局部變量不能與this同名。
5)this的類型是該類的類型。
6)this的值是在調用實例方法時刻被確定的。
7)this的值是只讀的,不能更改;但是可以將this賦予另一個對象變量。
8)this的使用:this.field、 this.method()、this()
重要提示:在本類構造器中,使用this(..)調用本類其它構造器的語句必須是本類構造器的第一條語句。
2、super 通過super關鍵字來實現對父類成員的訪問
1)super 是Java的關鍵字,具有特殊的語義。
2)super只是一個指示編譯器調用超類成員的特有的關鍵字。因為super不是一個對象的真實引用,不能將super賦予另一個對象變量。
3)形參不能與super同名。
4)局部變量不能與super同名。
5)可以理解為super的類型是該類的父類類型。
6)可以理解為super的值是 super = (superclass) this。
7)可以理解為super的值是只讀的,不能更改;
8)super的使用:super.field、 super.method()、super()。
重要提示:
1、super.method() 告知Java編譯器,super調用的超類方法,進行靜態綁定,不會出現多態。
2、 在子類構造器中,使用super(..)調用超類構造器的語句必須是子類構造器的第一條語句。
3、如果子類的構造器沒有顯示地調用超類的構造器super(..)、
本類的構造器this(..),則將自動調用超類默認的構造器(沒有參數的構造器super()),如果超類沒有默認的構造器,則Java編譯器將報告語法錯誤。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。