(二十) 抽象類

2021-07-16 09:23:13 字數 936 閱讀 4344

抽象類:用abstract修飾的類

抽象方法:只有方法宣告,沒有方法體,用abstract修飾的方法

1.抽象必須用abstract修飾

2.抽象類可以擁有普通類的所有成員,還可以有抽象方法

3.抽象類不能直接建立物件,只能通過他的非抽象子類來建立

4.抽象類的子類必須實現抽象類的所有抽象方法,如果不實現,

必須把這個子類標記為抽象類

5.抽象類可以沒有抽象方法,但抽象方法必須放在抽象類中

6.抽象類和抽象方法不能用final修飾

7.抽象方法不能用private修飾

8.抽象方法能用protected修飾

9.抽象方法不能用static修飾

demo:

pet類:

public

abstract

class pet

dog類:

public

class

dogextends

pet

public

void

eat()

}

繼承pet並重寫了pet的抽象方法,還具有乙個自己的eat()方法

main類:

public

class main

}

以上面的demo為例:

pet pet = new dog();

兩邊型別不一致,稱之為多型

pet pet:編譯時型別

編譯能否通過看編譯時型別

編譯時能不能通過看編譯時型別有沒有相應的方法

new dog():執行時型別

執行時候的具體結果看執行時型別

二十 java的抽象類

現實世界中,人們表徵世界時,會把現實世界中的很多類具有相同特徵的事物歸為乙個抽象類。比如水果是許多植物果實的總稱,我們可以定義乙個蘋果類 定義乙個西瓜類,可以例項化乙個蘋果物件,可以例項化乙個西瓜物件,我們也可以定義乙個水果類,但是你無法例項化乙個水果物件,因為水果的例項必定是某個具體的植物果實,這...

抽象類 抽象方法

抽象類 1.類名前有abstruct修飾。有構造方法。在建立抽象類的子類的時候,還是會先建立抽象父類的物件的。2.抽象類不能例項化是指不能手動的new。抽象方法 1.抽象方法 沒有方法體且需要用abstruct關鍵字修飾 作用 需要改變的地方都應該是抽象。抽象方法只能存在於抽象類或介面中。2.有抽象...

抽象類,抽象方法

1 抽象類中可以有實現的方法。抽象方法必須在抽象類中。using system using system.collections.generic using system.linq using system.text namespace test 抽象類可以包含抽象屬性 public int age...