java - 即使没有任何抽象方法,类也可以是抽象的吗?如果是有什么用?

标签 java abstract-class

我怀疑 HttpServlet 类是一个抽象类,即使类中没有任何抽象方法,所有方法都是具体的。 即使没有任何抽象方法,类也可以是抽象的吗?如果是有什么用?

谢谢

最佳答案

HttpServlet 的情况下,要点是 servlet 程序员通常不希望他们的 servlet 支持所有 4 种常用的 HTTP 方法(POST、GET、PUT、DELETE),因此它将 doGet()doPost() 等方法抽象化会很烦人,因为程序员将被迫实现他们不需要的方法。因此,HttpServlet 为所有那些除了向客户端返回错误状态代码外什么都不做的方法提供了默认实现。程序员可以覆盖他们需要的方法,而不用担心其余的。但实际上使用 HttpServlet 类本身是没有意义的(因为它没有做任何有用的事情),所以它是抽象的

你有一个很好的例子,说明什么时候拥有一个没有任何抽象方法的抽象类才有意义。

关于java - 即使没有任何抽象方法,类也可以是抽象的吗?如果是有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171568/

相关文章:

java - System.out.println()耗时; Java语句?

java - 将面板内容与面板顶部对齐

java - 使用 lambda 或 Stream API 合并流以生成交替序列

c++ - 从 C++ 中的抽象类派生的类中没有销毁阶段

java - 如何访问java中抽象类的子类实例化的对象?

c++ - 所有与模板化类型交互的代码都必须使用模板吗?

java - 使用抽象父类(super class)生成子类的随机实例

java - Java 服务器上的 OpenID

java - 在 Tomcat 启动后启动监听器?

c++ - 如何创建抽象类的动态数组?