黑马程序员技术交流社区
标题:
求助!!!
[打印本页]
作者:
陈泰延
时间:
2013-1-21 11:22
标题:
求助!!!
person p =new person("zhangsan",20);
该句话都做了什么事情?
1,因为new用到了person,class所以会先找到person。class文件并加载到内存中。
2,执行该类中的static代码块,如果有的话,给person。class类进行初始化。
3,在堆内存中开辟空间,分配内存地址。
4,在堆内存中建立对象的特有属性,并进行默认初始化。
5,对属性进行显示初始化。
//第4和第5不怎么明白,求黑马们指教!
6,对对象进行构造代码块初始化。
7,对对象进行对应的构造函数初始化。
8,将内存地址给栈内存中的P的变量
作者:
张洪慊
时间:
2013-1-21 11:31
4.在堆内存中建立对象的特有属性,并进行默认初始化。
这个特有属性可以理解为 对象的 非静态属性
默认初始化: 例如: 在类中有int number;//默认初始化为0
String str;//默认初始化为null
5.显式初始化
在类中:int number=3;//显式初始化
作者:
刘郑瑞
时间:
2013-1-21 11:38
第3步,开辟内存空间后,分配内存后。第4步,会对对象的姓名和年龄内存空间进行系统默认的初始化。第5步,对姓名和年龄进行赋值“zhangsan”,20,初始化。 个人观点。
作者:
黄锦成
时间:
2013-1-21 11:40
楼上正解
作者:
打工人
时间:
2013-1-21 12:10
黄锦成 发表于 2013-1-21 11:40
楼上正解
面试多少分额
作者:
杨浩
时间:
2013-1-21 13:22
冯海霞 发表于 2013-1-21 12:10
面试多少分额
如果是
Person p;
p = new Person();
那么第一句,会加载Person.class到虚拟机么?
栈内存需要创建一个Person类型的变量p的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2