Java笔试|面试 —— 子类对象实例化全过程 (熟悉)
子类对象实例化全过程 (熟悉)
1.从结果的角度来看:体现为继承性
当创建子类对象后,子类对象就获取了其父类中声明的所有的属性和方法,在权限允许的情况下,可以直接调用。
2.从过程的角度来看:初始化子类对象实例化全过程
当通过子类的构造器创建对象时,子类构造器一定会直接或间接的调用到其父类的构造器( 默认的super() ),而其父类的构造器同样会直接或间接地调用到其父类的父类的构造器,...,直到调用了Object类中的空参构造器为止。
正因为子类调用过父类的构造器,就会将父类中声明的属性,方法加载到内存中,供子类的对象调用。
类对象实例化,调用了所有祖先类的构造器,拥有所有祖先的成员属性、方法,将其加载到内存中,供子类调用。
3.细节:在加载过程中,是先加载父类还是先加载子类?
代码块中首行为this()/super(),因此会先加载父类构造器,父类构造器首行也是t/s,故会一直向上调用,直到Object构造器,所以加载过程是从上往下去加载。
原文地址:https://blog.csdn.net/JL_L666/article/details/140248128
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!