Java Abstract 抽象 可以修飾類 方法

2021-09-18 05:11:30 字數 1032 閱讀 8432

如果將乙個類設定為abstract,則此類必須被繼承使用。此類不可生成物件,必須被繼承使用。

abstract可以將子類的共性最大限度的抽取出來,放在父類中,以提高程式的簡潔性。

abstract雖然不能生成物件,但是可以宣告,作為編譯時型別,但不能作為執行時型別。

final和abstract永遠不會同時出現。

當abstract用於修飾方法時,此時該方法為抽象方法,此時方法不需要實現,實現留給子類覆蓋,子類覆蓋該方法之後方法才能夠生效。

注意比較:

private void print(){};此語句表示方法的空實現。

abstract void print(); 此語句表示方法的抽象,無實現。

如果乙個類中有乙個抽象方法,那麼這個類一定為乙個抽象類。

反之,如果乙個類為抽象類,那麼其中可能有非抽象的方法。

如果讓乙個非抽象類繼承乙個含抽象方法的抽象類,則編譯時會發生錯誤。因為當乙個非抽象類繼承乙個抽象方法的時候,本著只有乙個類中有乙個抽象方法,那麼這個類必須為抽象類的原則。這個類必須為抽象類,這與此類為非抽象衝突,所以報錯。

所以子類的方法必須覆蓋父類的抽象方法。方法才能夠起作用。

為了實現多型,那麼父類必須有定義。而父類並不實現,留給子類去實現。此時可將父類定義成abstract類。如果沒有定義抽象的父類,那麼編譯會出現錯誤。

abstract和static不能放在一起,否則便會出現錯誤。(這是因為static不可被覆蓋,而abstract為了生效必須被覆蓋。)

java abstract關鍵字解析

抽象方法 僅僅宣告而沒有方法體的方法叫做抽象方法。抽象類 包含乙個或多個抽象方法的類叫做抽象類。都需要加上 abstract關鍵字 如果乙個類想繼承抽象類,並建立該類的物件,那麼就必須為基類中所有抽象方法提供方法定義 抽象類中已實現的方法不必重寫 如果不這麼做,那麼匯出類便也是抽象類,且編譯器會強制...

java abstract關鍵字的理解

1.抽象類的定義為 包含抽象方法的類就叫做抽象類,如果乙個類包含乙個或多個抽象方法,那麼該類必須被限定為抽象的。2.如果定義了抽象方法,那麼這個抽象方法不能有方法體,同時不能有大括號,直接以分號結束 abstract class p public void make2 這段 帶有abstract的方...

Java abstract關鍵字及其例項

package c abstract關鍵字用於修飾方法和類,分別稱為抽象方法和抽象類 採用abstract關鍵字修飾的方法稱為抽象方法,這種方法只有方法宣告,而沒有方法體及具體實現的步驟 抽象方法只能在抽象類中定義,並且抽象方法中不能用static final private修飾符,抽象方法只有在子...