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

java 8object oriented programmingprogramming

没有主体的方法称为抽象方法。它仅包含带有分号的方法签名,前面有一个 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

相关文章