抽象类是使用abstract关键字修饰的类,不能被实例化,可包含抽象方法和具体方法。即使没有抽象方法,类也可声明为抽象类,如abstract class Animal含具体方法sleep。这样做的目的是防止类被直接实例化,确保其仅作为基类继承,常用于框架设计中表达模板意图。有无抽象方法不是抽象类的必要条件。

在 Java 中,抽象类不一定要有抽象方法。
什么是抽象类?
抽象类是使用abstract 关键字修饰的类,它不能被实例化。抽象类的主要作用是为子类提供一个通用模板,允许包含抽象方法(没有实现的方法)和具体方法(有实现的方法)。
抽象类可以没有抽象方法吗?
可以。即使一个类中没有任何抽象方法,也可以将它声明为抽象类。例如:
abstract class Animal {
public void sleep() {
System.out.println("Animal is sleeping");
}
}
这个类没有抽象方法,但仍然是抽象类,不能被实例化。它的子类必须继承它,并且如果子类不是抽象的,就需要提供完整的实现(虽然这里没有抽象方法需要实现)。











