抽象類: 其實就是帶有抽象方法的類(抽象方法沒有方法體,用abstract的修飾)
public abstract void test(); //這就是抽象方法
抽象類的使用原則:
1. 抽象類不能被例項化,需要依靠子類採用向上轉型的方式處理;
2. 抽象類必須有子類去繼承,乙個子類只能繼承乙個繼承抽象類;
3. 抽象方法必須是public和protected(因為如果是private,則不能被子類繼承,子類就不能實現此方法);
4. 如果子類繼承了此抽象類,則子類必須要重寫抽象類中的全部抽象方法(如果子類沒有全部重寫父類中的抽象方法,則子類也需要定義為abstract的)
5. 抽象類不能用final宣告,因為抽象類必須有子類;
抽象類和介面的區別:
1. 抽象類裡面可以有方法的實現,但是介面完全都是抽象的,不存在方法的實現;
2. 子類只能繼承乙個抽象類,而介面可以被多個實現;
3. 抽象方法可以是public,protected,但是介面只能是public,預設的;
4. 抽象類可以有構造器,而介面不能有構造器;
java抽象類與介面的區別抽象類與介面的特性是什麼
介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...
抽象方法 抽象類 介面 介面和抽象類的區別
某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...
抽象類與介面的區別
c 中可以多繼承介面,卻只能繼承自乙個抽象類 抽象類中的方法可以包含一些實現,但介面卻只能定義方法的一種規範,不能包含實現 繼承類必須實現藉口中所有的方法,而不一定要實現抽象類中的所有方法 抽象類可以繼承自抽象類 但介面不能繼承自介面 派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員 ...