为什么HTTPServlet是一个抽象类?任何功能原因?
HttpServlet
是包含所有已实现方法的抽象类。为什么它是抽象的?
我得到的最常见的答案是,限制 的实例化。但是还有其他方法可以做到这一点,比如私有构造函数将限制实例化。HttpServlet
我可以理解他们正在遵循模板方法设计模式。如果某些方法是抽象的,则用户最终将实现所有这些方法,即使他的业务逻辑不需要它们。
但是,如果不是抽象的,用户仍然可以扩展它并重写所需的方法。HttpServlet
至少从“抽象”这个词的字典含义来看,对我来说,拥有一个包含所有实现方法的抽象类没有任何意义。
是的,抽象和具体方法的结合是可以的。
但是,如果你正在使一个类抽象,为什么不使这些方法抽象为子类必须重写的呢?或者可能根本不声明它是抽象的?
就像或就是这种情况。doGet()
doPost()