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

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

public abstract myMethod();

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

抽象类

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

是的,您可以声明抽象类而无需在其中定义抽象方法。声明一个类抽象后,它表明该类不完整,无法实例化它。

因此,如果您想直接防止类的实例化,则可以抽象地声明它。

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

示例

在下面的Java示例中,抽象类MyClass包含一个带有名称显示的具体方法。

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

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