Java继承三:子类对象加载的执行过程

(额外注:(与下面的历程“无关”):

(1)当在子类中使用super关键字后,会在堆中新建一个父类对象;

(2)假若父类A中有public void m(){}这个方法,B类继承A类。

          实例化A类对象a,那么在堆中会开辟一个空间存储a对象,m这个方法也会在a对象的空间中;

          实例化B类对象b,那么在堆中会开辟一个空间存储b对象,那么m这个方法会复制一份到b对象所在的空间中吗?

子类对象加载的执行过程,下面的主要看流程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

下图中第九步说对象已经得到了,似乎不妥,目前理解是,对象的Object式的基本模型已经得到,接下来是要着手得到具体的父类对象了

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

关乎父类对象的东西都准备完毕。

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

Java继承三:子类对象加载的执行过程

 

基本过程是,先加载类,再加载成员属性以得到对象。