更新時間:2022-08-04 來源:黑馬程序員 瀏覽量:
當定義一個類時,常常需要定義一些成員方法描述類的行為特征,但有時這些方法的實現方式是無法確定的。例如,前面在定義Animal類時,shout()方法用于描述動物的叫聲,但是不同動物的叫聲是不同的,因此在shout()方法中無法準確地描述動物的叫聲。
針對上面描述的情況,Java提供了抽象方法來滿足這種需求。抽象方法是使用abstract關鍵字修飾的成員方法,抽象方法在定義時不需要實現方法體。抽象方法的定義格式如下:
abstract void 方法名稱(參數);
當一個類包含了抽象方法,該類必須是抽象類。抽象類和抽象方法一樣,必須使用abstract關鍵字進行修飾。
抽象類的定義格式如下:
abstract class 抽象類名稱{ 訪問權限 返回值類型 方法名稱(參數) { return[返回值]; } 訪問權限 abstract 返回值類型 抽象方法名稱(參數); //抽象方法,無方法體 }
從以上格式可以發現,抽象類的定義比普通類多了一些抽象方法,其他地方與普通類的組成基本上相同。
抽象類的定義規則如下。
(1)包含一個以上抽象方法的類必須是抽象類。
(2)抽象類和抽象方法都要使用abstract關鍵字聲明。
(3)抽象方法只需聲明而不需要實現。
(4)如果一個類繼承了抽象類,那么該子類必須實現抽象類中的全部抽象方法。