在 Java 中,我们能否为抽象类创建对象?


没有方法体的方法被称为抽象方法。它只包含方法签名和一个分号,以及在其前面有一个 abstract 关键字。

public abstract myMethod();

要使用抽象方法,您需要通过扩展其类来继承它,并为其提供实现。

包含 0 个或多个抽象方法的类称为**抽象类**。如果它至少包含一个抽象方法,则必须将其声明为抽象的。

实例化抽象类

一旦一个类是抽象的,它就表示它可能包含不完整的方法,因此您无法创建抽象类的对象。

如果您尝试实例化抽象类,则会生成一个编译时错误,提示“class_name 是抽象的;无法实例化”。

示例

在下面的 Java 示例中,我们有一个抽象类 MyClass,它包含一个名为 display 的具体方法。我们正在尝试使用 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

更新于: 2020-06-29

1K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告