Java面向對象之抽象類abstract
抽象類abstract
普通類
- 普通類可以直接產生實例化對象,并且在普通類之中可以包含有構造方法,普通方法、static 方法、常量、變量的內容。
- 所有的普通方法都會有一個"{}",這個表示方法體,有方法體的方法一定可以被對象直接調用。
抽象類
-
指在普通類的結構里面增加抽象方法的組成部分。
-
擁有抽象方法的類一定屬于抽象類,抽象類要使用abstract聲明。
-
抽象類中的抽象方法沒有方法體,聲明時不需要加"{}",但是必須有abstract聲明,否則在編譯時將出現語法錯誤。
-
abstract修飾符可以用來修飾方法,也可以修飾類,如果修飾方法,那么方法就是抽象方法;如果修飾類,該類就是抽象類。
-
抽象類中可以沒有抽象方法,但是有抽象方法的類,一定要聲明為抽象類。
-
抽象類,不能使用new關鍵字類創建對象,它是用來讓子類繼承的。
-
抽象方法,只有方法的聲明,沒有方法的實現,它是用來讓子類實現的。
-
子類繼承抽象類,那么就必須要實現抽象類,沒有實現的抽象方法,否則該子類也要聲明為抽象類。
abstract class A{
public void fun(){//普通方法
System.out.println("存在有方法體的方法!");
}
//此方法并沒有方法體的聲明,并且存在有abstract關鍵字,表示抽象方法
public abstract void print();
}

#總結 - 抽象類繼承子類里面會有明確的方法覆寫要求,而普通類并沒有。 - 抽象類只比普通類多了一些抽象方法的定義,其他的組成部分與普通類完全一樣。 - 普通類對象可以直接實例化,但是抽象類的對象必須經過向上轉型之后才可以得到實例化對象。 `雖然一個子類可以去繼承任意一個普通類,但是從開發的實際要求來講,普通類不要去繼承另外一個普通類,而要繼承抽象類。`
追隨內心,步履不停。
@側耳聽智慧,專心求聰明 Turnging your ear to wisdom and applying your heart to understanding!

浙公網安備 33010602011771號