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

是的,我们可以在Java中声明一个没有抽象方法的抽象类。

  • 抽象类意味着隐藏实现并向用户显示函数定义。

  • 既有抽象方法又有非抽象方法的抽象类。

  • 对于抽象类,我们不能直接创建对象。但是我们可以间接地使用子类对象创建一个对象。

  • Java抽象类可以具有实现默认行为的实例方法。

  • 一个抽象类一次只能扩展一个类或一个抽象类。

  • 声明一个没有抽象方法的抽象类意味着我们不允许它自己被实例化。

  • Java中使用的抽象类表示我们不能直接创建该类的对象。

示例

abstract class AbstractDemo { //抽象类
   private int i = 0;
   public void display() { //非抽象方法
      System.out.print("欢迎来到nhooo.com-");
   }
}
public class InheritedClassDemo extends AbstractDemo {
   public static void main(String args[]) {
      AbstractDemo demo = new InheritedClassDemo();
      demo.display();
   }
}

在上面的示例中,我们尚未在AbstractDemo类中定义抽象方法。编译器不会抛出任何编译时错误。

输出结果

欢迎来到nhooo.com-