Java 中可以定義沒有抽象方法的抽象類嗎?


沒有方法體的方法稱為**抽象**方法。它只包含方法簽名和分號,以及其前面的 abstract 關鍵字。

public abstract myMethod();

要使用抽象方法,需要透過擴充套件其類來繼承它,併為其提供實現。

抽象類

包含 0 個或多個抽象方法的類稱為抽象類。如果它包含至少一個抽象方法,則必須將其宣告為抽象類。

是的,您可以在其中不定義抽象方法的情況下宣告**抽象**類。一旦您將類宣告為**抽象**,就表示該類不完整,並且您不能例項化它。

因此,如果您想阻止直接例項化類,可以將其宣告為抽象類。

如果您想在抽象類中使用具體方法,則需要繼承該類,為抽象方法(如果有)提供實現,然後使用子類物件呼叫所需的方法。

示例

在以下 Java 示例中,抽象類 MyClass 包含一個名為 display 的具體方法。

從另一個類(AbstractClassExample)中,我們繼承了類 MyClass 並使用子類物件呼叫其具體方法 display。

即時演示

abstract class MyClass {
   public void display() {
      System.out.println("This is a method of abstract class");
   }
}
public class AbstractClassExample extends MyClass{
   public static void main(String args[]) {
      new AbstractClassExample().display();
   }
}

輸出

This is a method of abstract class

更新於: 2020-06-29

5K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.