java基础复习---多态内存分析深入---模拟servlet中的方法调用

版权声明:转发者请注明地址哦-----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而非父类

猜你喜欢

转载自blog.csdn.net/qq_36547531/article/details/85333525
今日推荐