在 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
广告