本文主要讲述java中继承的内存分析。
示例代码如下:
public class EncapsulationTest { public static void main(String[] args) { Son son = new Son(); System.out.println(son.name); System.out.println(son.age); System.out.println(son.hobby); } } class GrandFa { String name = "爷爷"; String hobby = "喝茶"; } class Father extends GrandFa{ String name = "爸爸"; int age = 22; } class Son extends Father{ String name = "儿子"; }
jvm继承的内存图如下:
运行结果:
注意细节:
① 方法区中先加载完父类,再加载子类,
② 父类与子类中相同名称的成员变量分配在不同的存储空间中
③ 访问某属性时,如果该属性在当前类中,且能够访问,则直接访问;否则,使用get()方法访问,如果当前类中没有该属性,则在其父类中查找该属性。
标签:java,String,继承,System,son,内存,class,name From: https://www.cnblogs.com/zwgitOne123/p/16974209.html