Java多态内存分析

HttpServlet.java

package cn.bjsxt.oop.polymorphism.myServlet;

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

MyServlet.java

package cn.bjsxt.oop.polymorphism.myServlet;

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

Test.java

package cn.bjsxt.oop.polymorphism.myServlet;

public class Test {
	public static void main(String[] args) {
		HttpServlet s = new MyServlet();
		s.service();
	}
}

输出结果:

HttpServlet.service()

MyServlet.doGet()

内存分析如下:

图片

其中this指向最外面的对象

posted @   pallcard  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 上周热点回顾(1.20-1.26)
· 【译】.NET 升级助手现在支持升级到集中式包管理
点击右上角即可分享
微信分享提示