1. 程式人生 > 其它 >java中abstract關鍵字(抽象類)

java中abstract關鍵字(抽象類)

需求

  • 當父類某個方法,需要宣告,但是又不確定如何實現時,可以用抽象方法,那麼這個類就是抽象類
  • 例如:父類是一個動物類,父類裡面有很多方法,其中有一個方法是吃食物,但是不知道吃什麼,需要子類繼承的時候重寫該方法,去設定動物到底吃什麼食物

細節

  • 當類用abstract關鍵字宣告時,就是一個抽象類
  • 當一個類中存在抽象方法時,需要該類宣告為abstract類
  • 抽象方法不能有方法體。例如:publicabstractvoideat();
  • 抽象類不能被例項化,不能 new 抽象類
  • 抽象類不一定要含abstract方法,可以沒有抽象方法
  • 但是當方法是抽象方法時,類也必須是抽象類
  • abstract只能修飾方法和類,不能修飾屬性以及其他
  • 如果一個類繼承抽象類,則必須實現抽象類的所有抽象方法,如果子類也是抽象類,可以不實現父類的所有抽象方法
  • 抽象方法不能使用private、 final和static來修飾, 因為這些關鍵宇都是和重寫相違背的。

練習

  • abstract final class A{ } 能編譯通過嗎? 錯誤,final是不能繼承
  • abstract public static void test2(); 能編譯通過嗎? 錯誤,static和 方法重寫無關
  • abstract private void test3();能編譯通過嗎 ? 錯誤 private 的方法不能重寫