Java 中可以定义没有抽象方法的抽象类吗?


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

public abstract myMethod();

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

抽象类

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

是的,您可以在其中不定义抽象方法的情况下声明**抽象**类。一旦您将类声明为**抽象**,就表示该类不完整,并且您不能实例化它。

因此,如果您想阻止直接实例化类,可以将其声明为抽象类。

如果您想在抽象类中使用具体方法,则需要继承该类,为抽象方法(如果有)提供实现,然后使用子类对象调用所需的方法。

示例

在以下 Java 示例中,抽象类 MyClass 包含一个名为 display 的具体方法。

从另一个类(AbstractClassExample)中,我们继承了类 MyClass 并使用子类对象调用其具体方法 display。

实时演示

abstract class MyClass {
   public void display() {
      System.out.println("This is a method of abstract class");
   }
}
public class AbstractClassExample extends MyClass{
   public static void main(String args[]) {
      new AbstractClassExample().display();
   }
}

输出

This is a method of abstract class

更新于: 2020-06-29

5K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.