黑马程序员技术交流社区
标题:
person p = new person("zhangsan",20);这句话都做了什么?
[打印本页]
作者:
李宗玛
时间:
2014-7-7 10:22
标题:
person p = new person("zhangsan",20);这句话都做了什么?
person p = new person("zhangsan",20);这句话都做了什么?
作者:
blue_sky
时间:
2014-7-7 10:42
单看这句话,创建了对象:
1、创建了两个对象:
1)、一个person对象;
2)、一个指向person对象的引用对象p;
2、person类中肯定定义了一个带有参数的构造函数:
person(String,int){.........};
当创建这个对象的时候,就会调用该构造函数,创建的person对象里的两个属性被赋值。
作者:
燿陚√揚葳
时间:
2014-7-7 11:24
这个视屏上有讲过的
* 1.因为new 用到了Person.class,所以会先找到Person.class文件并加载到内存中
* 2.如果有static代码块的话,会先执行静态代码块,给Person.class进行初始化
* 3.在堆内存中开辟空间,分配内存地址
* 4.在堆内存中建立对象的特有属性,并进行默认初始化
* 5.对对象特有属性进行显示初始化
* 6.对对象进行构造代码块初始化
* 7.对对象进行与之对应的构造函数初始化
* 8.将内存地址赋给栈内存中的p变量
作者:
汤姆纳斯
时间:
2014-7-7 11:57
好详细啊,学习了
作者:
张慈瑞
时间:
2014-7-7 18:42
在内存中创建了一个person对象,person对象的姓名是“zhangsan”,年龄是20;
作者:
alexsoon
时间:
2014-7-7 19:39
调用Person的参数列表为(String, int)的构造函数初始化一个person的对象,并把对象的索引传给了P
作者:
hhnog
时间:
2014-7-7 19:50
person p 建一个对象p
new person 新开辟一块内存空间
(“zhangsan”,20) 往p中传2个参数
作者:
玉冰竹
时间:
2014-7-7 23:45
创建了p这个对象 , 并且调用了Person类中有参数的构造方法:public Person(String name,int age)
作者:
EarlyHeart
时间:
2014-7-7 23:55
分两种情况:
如果这句话写在方法体里面:
1.在内存堆区创建了一个姓名为zhangsan年龄为20的Person对象。
2.在内存栈区创建了一个引用变量p并把它指向1中创建的Person对象。
如果这句话写在方法体外(作为成员变量初始化的语句):
1.同第一种情况的1。
2.也是在内存堆区创建了一个引用变量p并把它指向1中创建的Person对象。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2