我们可以在Java中为抽象类创建对象吗?

没有主体的方法称为抽象方法。它仅包含带有半冒号和前面的抽象关键字的方法签名。

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