当前位置: 代码迷 >> Java Web开发 >> 为什么ServletRequest的对象可以转换为HttpServletRequest对象呢解决办法
  详细解决方案

为什么ServletRequest的对象可以转换为HttpServletRequest对象呢解决办法

热度:99   发布时间:2016-04-17 10:57:27.0
为什么ServletRequest的对象可以转换为HttpServletRequest对象呢
在Filter中有这样的一个转换
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)

HttpServletRequest req=(HttpServletRequest)request;

ServletRequest是接口
HttpServletRequest是子接口

子对象怎么能转换成父对象了呢?求解



------解决方案--------------------
子对象本来就属于父对象,所以这个转换很正常啊
------解决方案--------------------
引用并不代表对象本身,对象本身有个自己的对象类型(你可以思考一下,接口是不能实例化对象的,但是它可以引用对象),对象本身的类型不会改变,但是引用可以改变。
你可以使用getClass().getName()方法来获得对象的实际类型。
  相关解决方案