什麼是抽象類?怎麼定義?

千鋒武漢發表於2021-09-01

  什麼是抽象類?怎麼定義?這是屬於 java技術裡面的一個知識點,本期教程就是圍繞這個問題做的相關介紹,當定義一個類時,常常需要定義一些成員方法描述類的行為特徵,但有時這些方法的實現方式是無法確定的。例如,在定義Animal類時,shout( )方法用於描述動物的叫聲,但是不同動物的叫聲是不同的,因此在shout( )方法中無法準確地描述動物的叫聲。

  針對上面描述的情況,Java提供了抽象方法來滿足這種需求。抽象方法是使用abstract關鍵字修飾的成員方法,抽象方法在定義時不需要實現方法體。抽象方法的定義格式如下:

  abstract void方法名稱 (引數);

  當一個類包含了抽象方法,該類必須是抽象類。抽象類和抽象方法一樣,必須使用abstract關鍵字進行修飾。

  抽象類的定義格式如下:

  abstract class 抽象類名稱{

  訪問許可權返回值型別 方法名稱(引數){

  return [返回值] ;

  訪問許可權abstract返回值型別抽象方法名稱(引數) ;

  //抽象方法,無方法體

  }

  從以上格式可以發現,抽象類的定義比普通類多了一些抽象方法,其他地方與普通類的組成基本上相同。

  抽象類的定義規則如下。

  (1)包含一個以上抽象方法的類必須是抽象類。

  (2)抽象類和抽象方法都要使用abstract關鍵字宣告。

  (3)抽象方法只需宣告而不需要實現。

  (4)如果一個類繼承了抽象類,那麼該子類必須實現抽象類中的全部抽象方法。

  下面透過一個案例學習抽象類的使用,如檔案4-10所示。

1

  在檔案4-10中,第2~5行程式碼是宣告瞭一個抽象類

  Animal,並在Animal類中宣告瞭個抽象方法 shout ( );第9~11行程式碼在子類Dog中實現父類Anima的抽象方法shout( );第17行程式碼透過子類的例項化物件呼叫shout( )方法。

  注意:

  使用abstract關鍵字修飾的抽象方法不能使用private修飾,因為抽象方法必須被子類實現,如果使用了private宣告,則子類無法實現該方法。

  以上就是為大家介紹的 Java教程之什麼是抽象類?怎麼定義?的相關內容,希望上面的介紹能夠幫助正在學習 Java技術的同學。想了解更多Java技術,歡迎關注小千,後期會繼續分享更多Java知識。

  本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2789788/,如需轉載,請註明出處,否則將追究法律責任。

相關文章