没有主体的方法称为抽象方法。它仅包含带有半冒号和前面的抽象关键字的方法签名。
public abstract myMethod();
要使用抽象方法,您需要通过扩展其类并为其提供实现来继承它。
包含0个或多个抽象方法的类称为抽象类。如果它至少包含一个抽象方法,则必须将其声明为abstract。
一旦抽象了一个类,它表明它可能包含不完整的方法,因此您不能创建抽象类的对象。
如果尝试实例化抽象类,则会生成一个编译时错误,提示“ class_name是abstract; 无法实例化”。
在下面的Java示例中,我们有一个抽象类MyClass,其中包含带有名称显示的具体方法。我们正在尝试使用new关键字实例化此类。
abstract class MyClass { public abstract void display() { System.out.println("This is a method of abstract class"); } public static void main(String args[]) { new MyClass(); } }
在编译此类时,生成编译时错误为-
MyClass.java:6: error: MyClass is abstract; cannot be instantiated new MyClass(); ^ 1 error