abstract 类 in Java 的目的是什么?

What is the purpose of abstract classes in Java?

我对 abstract classes 及其使用有一些疑问。我知道他们的基本情况;例如,它们不能被实例化,它们可以有具体和抽象的方法,...但我想我想知道的是,它们在生活中(在软件工程中)有什么作用?

Java 中抽象 classes 的目的是什么? 为什么以及何时应该使用摘要 class?如果你可以使用一个普通的class然后继承它,你为什么要继承一个抽象的class? 使用抽象 classes 如何让我们的生活更轻松?它会提供更好的可维护性吗?更灵活? ...

顺便说一句,我已经看过一些类似的问题和答案,包括 Understanding the purpose of Abstract Classes in Java,但它们没有回答我的问题。我更多地是在寻找答案,以阐明在 Java 中首先引入抽象 classes 背后的哲学。

谢谢

abstract class 可以用作其他 class 的模板类型,最常用于 inheritance

最好的例子是书头先java:

abstract class Animal(){}

然后您可以扩展子 class,例如:dogcatfish