您的位置:首页 > 编程语言 > Java开发

Java 一个对象实例化过程

2016-01-15 01:14 465 查看
package day09;

class Fu{

Fu(){

super();

show();

return;

}

void show(){

System.out.println("fu show");

}

}

class Zi extends Fu{

int num = 8;

Zi(){

super();

//-->通过super初始化父类内容时,子类的成员变量 并未显示初始化。等super()父类初始化完毕后,才进行子类的成员变量显示初始化。

System.out.println("zi cons run ..." + num);

return;

}

void show(){

System.out.println("zi show ..." + num);

}

}

/**

*一个对象实例化过程:

*Person p = new Person();

*1、JVM会读取指定路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况下)。

*2、在堆内存中的开辟空间,分配地址。

*3、并在对象空间中,对对象中的属性进行默认初始化。

*4、调用对应的构造函数进行初始化。

*5、 在构造函数中,第一行会先到调用父类中构造函数进行初始化。

*6、 父类初始化完毕后,在对子类的属性进行显示初始化。

*7、在进行子类构造函数的特定初始化。

*8、初始化完毕后,将地址值赋值给引用变量。

*/

public class ExtendsDemo5 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Zi z = new Zi();

z.show();

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: