今天看书时看到一段话有一些疑问。对于HttpServlet类的具体子类,一般会针对和护短的特定请求方式,来覆盖HttpServlet父类中的相应doXXX()方法。为了使doXXX()方法能被Servlet容器访问,应该把访问权限设为public。Servlet容器不会访问doGet/doPost吧?应该是容器直接访问service(),service方法去调用doXXX()这样的吧。HttpServlet中的doGet/doPost是protected的,而我特意看了一下struts等的doGet/doPost确实为public。到底为什么要把doGet/doPost改成public呢?
然后protected在包外是没有访问权限的,也就是说如果你自己定义的servlet的doXXX方法是protected的,提交到servlet处理时,访问不到子类doXXX方法了,只能是父类默认的doXXX方法了。
子类大于>父类
而且如果你一旦protected了,那么你程序的扩展性就不好了
建议好好理解下继承权限问题!!!