不一定能转换,所以才要try ... catch
如果req不是HttpServletRequest或它的派生类,可以传进来但是强转出错
大多说的网络应用是通过HTTP协议访问服务层资源的,因此我们编写的Servlet大多也是应用于处理HTTP协议的请求和响应,抽象类HttpServlet集成自GenericServlet类,具有与GenericServle相似的方法,并提供了与HTTP相关的实现,支持对HTTP的POST与GET等请求方式进行差异化处理。所以开发中如果需要编写Servlet,主要继承的就是HttpServlet抽象类。
而HttpServle常用的方法中,public void service(ServletRequest req,ServletResponse res)就是GenericServle类中service()方法的实现,将请求分发给protected void service(HttpServletRequest req,HttpServletResponse res)方法,然后这个方法接受HTTP请求,并将它们分发给此类中定的doXxx()方法
而且你也说了他们之间的关系是父子关系,那么怎么不能做强制类型转化呢?
楼上正解,请采纳
它们是父子关系可以强转的,可是强转中类型可能报错,所以需要抛出异常。