1

HttpServlet用关键字abstract声明 的抽象类中没有任何抽象方法。doGet和其他不是抽象方法。那么为什么HttpServlet声明为抽象类而没有任何抽象类呢?

HttpServlet模板方法模式的一个例子吗?

什么是模板模式和模板方法模式。有什么区别?

4

1 回答 1

1

HttpServlet被声明为抽象,因为你打算继承它。它本身不会提供太多有用的行为,因此您应该扩展该类并为一个或多个方法定义您自己的行为(最常见的是,要么 要么doGetdoPost

是的,HttpServlet是模板方法模式的一个例子。中的doXXX方法HttpServlet是从方法中调用的service。换句话说,我们有一个模板方法 ( service),它的一些处理推迟到子类中定义的各个方法。这些方法是在编译时选择的,因此这是模板方法模式的一个示例。

也可以看看:

于 2015-03-24T02:25:09.350 回答