首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

关于Java继承类解惑,该如何解决

2012-01-19 
关于Java继承类解惑问题简述:父类:AbstractExtServlet(抽象类)是servlet类型,里面包含 doGet() 和 doPost(

关于Java继承类解惑
问题简述:
父类:AbstractExtServlet(抽象类) 是servlet类型,里面包含 doGet() 和 doPost()方法,定义一个抽象方法
protected abstract String doOper(String _oper, HashMap<String, String[]> map);
父类中 doPost() 方法直接调用 doOper(_oper,map)方法

子类:ChildrenExtServlet 重写方法 public String doOper(String _oper, HashMap<String, String[]> map),并不包含doGet()和doPost() 

问题:页面跳转到ChildrenExtServlet类,传递参数 _oper,map 那么是不是经过父类AbstractExtServlet的doPost()中 的 doOper(_oper,map)方法,然后调用子类中的 doOper(_oper,map),进行下一步处理。原理是什么/

[解决办法]
子继承了父亲 如果子 找不到的方法 会从父类里找 向上遍历
[解决办法]
框架会自动调用Servlet类的doPost或doGet方法
子类没有重写这些方法,就会调用父类的方法
父类的doPost会调用doOper方法,因为子类重写了doOper方法,所以问问子类Servlet的时候就会调用子类的doOper方法

[解决办法]
因为子类中没有doPost方法所以会调用父类的doPost方法,当父类的doPost方法调用父类的doOper方法是发现已被子类覆盖,所以就返回来调用子类的doOper方法,就这么个过程.

热点排行