版权声明:转发者请注明地址哦-----kuls的博客-一个正在疯狂学习的大学生- https://blog.csdn.net/qq_36547531/article/details/85333525
HttpServlet.java
public class HttpServlet {
public void service(){
System.out.println("HttpServlet.service()");
this.doGet();
}
public void doGet(){
System.out.println("HttpServlet.doGet()");
}
}
MyServlet.java
public class MyServlet extends HttpServlet {
public void doGet(){
System.out.println("MyServlet.doGet()");
}
}
Test.java
public class Test {
public static void main(String[] args) {
HttpServlet s = new MyServlet();
s.service();
}
}
运行结果: 根据内存分析,子类没有重写父类的service方法,所以直接调用父类的service方法。子类重写了doGet()方法,此时根据上一篇文章中的内存图,service方法里面的doGet应该为子类的doGet而非父类