Java基礎-知識點總結-Java繼承

 

繼承:

 

  子類 extends父類{}

 

 

class C {
	void demo1() {
	}
}

class A extends C {
	// A繼承自C,所以也具有demo1方法
	// void demo1(){}
	void demo2() {
	}
}

class B extends C {
	// B繼承自C,所以也具有demo1方法
	// void demo1(){}
	void demo3() {
	}
}

 

 

 

特點:1、提高了代碼的複用性;

 

     2、讓類與類之間長生了關係,有了這個關係,纔有了多態的特性。

 

注意:類與類之間必須具有所屬關係才能使用繼承,即… is a …。

 

*JAVA語言中,只支持單繼承,不支持多繼承。因爲多繼承會帶來安全隱患,當多個父類中定義了相同的功能,當功能內容不同時,子類對象不知道執行哪一個。但是JAVA語言中保留了這種機制,並用另一種體現形式來完成表示:多實現。

 

*JAVA語言支持多層繼承,是一種繼承體系。

 

 使用一個繼承體系中的功能的方法:

 

1、首先查閱父類的描述,因爲父類中定義了該體系中的共性功能。

 

2、創建最子類的對象,一是因爲父類有可能不能創建對象;二是創建子類可以使用更多的功能,包括基本功能和特有功能。

 

*事物之間不一定有繼承關係,有可能具有聚集關係,根據關係的緊密程度又分爲聚合和組合,其中組合關係練習更緊密。

 

*子父類中變量的特點:

 

 如果子類中出現非私有的同名成員變量時,子類要訪問本類中的變量用this;子類要訪問父類中的變量用super。

 

*子父類中的函數的特點:覆蓋

 

 當子類中出現和父類一模一樣的方法時,但子類調用該方法時,會運行子類中的該方法。

 

  1、子類覆蓋父類,必須保證子類權限大於父類權限

 

  2、靜態只能覆蓋靜態

 

*子父類中的構造函數的特點

 

  子類所有的構造函數,默認都會訪問父類的空參構造函數,因爲子類中每個構造函數內的第一行都有一句隱式super();當父類中沒夠空參的構造函數時,子類必須手動通過super語句形式指定要訪問的父類中的構造函數;當然子類的構造函數第一行也可以手動指定this語句來訪問本類中的構造函數;子類中至少會有一個構造函數訪問父類中的構造函數。





發佈了37 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章