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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP