以下是源代码,如果不清楚我问什么不妨复制粘贴一下//HttpServlet.javapublic class HttpServlet {
public void service(){
System.out.println("HttpServlet.service()");
doGet();
}

public void doGet(){
System.out.println("HttpServlet.doGet()");
}

}
//MyServlet.javapublic class MyServlet extends HttpServlet{

public void doGet(){
System.out.println("MyServlet.doGet()");
}
}//Test.javapublic class Test {
public static void main(String[] args) {
HttpServlet s=new MyServlet();
s.service();
}
}程序运行后输出是
HttpServlet.service()
MyServlet.doGet()第二个输出显示的是调用了MyServlet的doGet()方法,原因我也知道为什么了
我想问的是,这种情况下如何才能调用父类原有的方法,即让输出显示为
HttpServlet.service()
HttpServlet.doGet()

解决方案 »

  1.   

    改成HttpServlet s=new HttpServlet();
      

  2.   


    .......逗我
    有没有别的方法,我指的是在HttpServlet类中用带点什么方法,可使得service()调用自己的doGet()
    帖子标题就是 父类如何调用自己被重写过的函数 啊
      

  3.   

    肯定得用HttpServlet自己的对象调啊
      

  4.   


    你确定java中没有什么方法可以实现我的操作吗?
    我是有C++基础,这个问题在C++中不是问题,没想过,倒是我今天看java多态时发现这两者区别颇多,感觉C++的多态更加自由,不过确实C/C++很多东西自由得很