A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题:该句话做了哪些事情。
1、在栈内存中,开辟main函数的空间,建立main函数的变量 p。
2、加载类文件:因为new要用到Person.class,所以要先从硬盘中找到Person.class类文件,并加载到内存中。  加载类文件时,除了非静态成员变量(对象的特有属性)不会被加载,其它的都会被加载。静态成员变量、静态方法,静态代码块,进方法区静态部分,非静态方法、构造代码块、构造函数进方法区非静态部分。注意的是:加载只是把每一行代码存放到了内存中,并不会执行。
3、执行静态代码块。如果有的话,给类进行初始化
4、开辟空间:在堆内存中开辟空间,分配内存地址。
5、默认初始化:在堆内存中建立对象的特有属性,并进行默认初始化。
6、显示初始化:对属性进行显示初始化
7、构造代码块:执行类中的构造代码块,对对象进行构造代码块初始化。
8、构造函数初始化:对对象进行对应的构造函数初始化。
9、将内存地址赋值给栈内存中的变量p。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马