一、抽象類
1、什麼是抽象類
對于類的某個方法可以描述這個的某個特性。比如動物的跑等,但是不同的對象可能方法是不一樣的。
這就需要對方法進行抽象。這樣就可以根據不同的類的特點,進行繼承,然後再對抽象的方法進行重寫。
abstract class **
{
abstract void **();
}
2、抽象類的特點
(1)抽象類不可以被執行個體化
(2)抽象類的抽象方法隻是被聲明,不被實作。方法要被關鍵字abstract描述。抽象方法對應的抽象類,也要被abstract關鍵字描述。
(3)抽象類中被繼承後,必須要把所有的抽象的方法進行實作。否則其還是抽象類,不能進行執行個體化。
3、抽象類一些問題
(1)抽象類有無構造函數
抽象類是有構造函數的。抽象類會有子類,抽象類中的構造函數可以給子類進行初始化。
(2)抽象類中可以不定義抽象方法麼?
可以!
很少見,目的就是不讓其建立對象。
(3)抽象關鍵字不可以和哪些關鍵字共存?
private不可以,因為抽象方法要被覆寫,私有的方法不能被覆寫。
static不可以
final不可以
(4)抽象類和一般類的異同?
相同:都是描述類的
不同:抽象類隻有聲明,沒有具體的描述。
一般類中不能定義抽象方法,而抽象類中可以定義抽象方法。
(5)抽象類一定是一個父類麼?
是的!需要子類覆寫其方法,才能進行執行個體化!