您好,登錄后才能下訂單哦!
繼承的概述
多個類中存在相同屬性和行為時,將這些內容抽取到單獨一個類中,那么多個類無需再定義這些屬性和行為,只要繼那個類即可。
多個類可以稱為子類,單獨這個類稱為父類或者超類。
子類可以直接訪問父類中的非私有的屬性和行為。
通過 extends 關鍵字讓類與類之間產生繼承關系。
class SubDemo extends Demo{}
繼承的出現提高了代碼的復用性。
繼承的出現讓類與類之間產生了關系,提供了多態的前提。
繼承的特點
Java只支持單繼承,不支持多繼承。
一個類只能有一個父類,不可以有多個父類。
class SubDemo extends Demo{} //ok
class SubDemo extends Demo1,Demo2...//error
Java支持多層繼承(繼承體系)
class A{}
class B extends A{}
class C extends B{}
定義繼承需要注意:
不要僅為了獲取其他類中某個功能而去繼承
類與類之間要有所屬(" is a " )關系,xx1是xx2的一種。
super關鍵字
super和this的用法相像
this代表本類對象的引用
super代表父類的內存空間的標識。
當子父類出現同名成員時,可以用super進行區分
子類要調用父類構造函數時,可以使用super語句。
子類的實例化過程
子類中所有的構造函數默認都會訪問父類中空參數的構造函數
因為每一個構造函數的第一行都有一條默認的語句super();
final關鍵字
final可以修飾類,方法,變量。
final修飾的類不可以被繼承。
final修飾的方法不可以被覆蓋。
final修飾的變量是一個常量。只能被賦值一次。
內部類只能訪問被final修飾的局部變量。
子類會具備父類中的數據,所以要先明確父類是如何對這些數據初始化的。
當父類中沒有空參數的構造函數時,子類的構造函數必須通過this或者super語句指定要訪問的構造函數。
最近51CTO+IT十八掌免費大數據課程,有興趣的小伙伴可以去徐培成老師直播客或者視頻具體學習一下。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。