抽象:籠統(tǒng),模糊,看不懂,不具體。
特點:
1. 方法只有聲明沒有實現(xiàn)時,該方法就是抽象方法,需要被abstract修飾。抽象方法必須定義在抽象類中,該類必須也被abstract修飾。
2. 抽象類不可以被實例化,為什么?
因為調(diào)用抽象方法沒有意義。
3. 抽象類必須有其子類覆蓋了所有的抽象方法后,該子類才可以實例化。否則這個子類還是抽象類。
幾個問題:
1. 抽象類中有構(gòu)造函數(shù)嗎?
有,用于給子類對象進行初始化。
2. 抽象類可以不定義抽象方法嗎?
可以的。但是很少見,目的就是不讓該類創(chuàng)建對象。AWT的適配器對象就是這種類。
3. 抽象關(guān)鍵字不可以與哪些關(guān)鍵字共存?
private不行。因為抽象方法是要被子類覆蓋的。
static不行。有static出現(xiàn),就不需要對象了。
final不行。一個抽象一個具體不能共存。
4. 抽象類和一般類的異同點。
相同點:抽象類和一般類都是用來描述事物的,都在內(nèi)部定義了成員。
不同點:
1). 一般類有足夠的信息描述事物,而抽象類描述事物的信息有可能不足。
2). 一般類中不能定義抽象方法,只能定義非抽象方法。而抽象類中可定義抽象方法,同時也可以定義非抽象方法。
3). 一般類可以被實例化,抽象類不可以被實例化。
5. 抽象類一定是個父類嗎?
是的。因為需要子類覆蓋其方法后才可以對子類實例化,所以必須要子類并覆蓋。
sample:
