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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小黑子 于 2014-8-3 17:11 编辑

程序代码和运行结果如图所示。
我的问题是:
1、第四步中的,“并进行默认初始化”,是不是就是将  name=null; age=0; ???
     如果确实是这样,那这个默认初始化是由谁来做的呢?(因为构造函数还没执行,所以应该不是构造函数,那又是谁来执行这个默认初始化的呢?)
2、第五步中的,“对属性进行显式初始化”,是不是就是将  name="haha"; ???
3、Person p = new Person("zhangsan",20);  这里的这个  p  是一个引用吗?  我觉得这与主义一个普通的  int a =1; 没什么区别啊,这个a可不是引用吧?
4、什么是引用?引用都包括哪些?
跪求大神解答~~~~
   

6_NewPerson()在内存中做了什么.png (142.69 KB, 下载次数: 4)

6_NewPerson()在内存中做了什么.png

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 淡定

查看全部评分

4 个回复

倒序浏览
1. 默认初始化、构造代码块、显式初始化都是在构造函数中完成的。这个如果你用javap -c Person.class就明白了
2. Yes
3、4: 非引用类型,即基本类型,指:boolean char short byte int long double float这八种,除此之外都是引用类型。引用类型的特点是,引用变量(比如p)的值是它所引用的对象的地址值(比如Person p = new Person("d", 3),p的值是Person对象的内存地址)。而基本类型变量的值就是它所代表的对象的值(比如int a=3,那么a的值就是3)

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1

查看全部评分

回复 使用道具 举报
fantacyleo 发表于 2014-7-31 11:49
1. 默认初始化、构造代码块、显式初始化都是在构造函数中完成的。这个如果你用javap -c Person.class就明白 ...

哦,是这个样子啊。谢谢啊。
敢问大神报了哪个黑马班?
回复 使用道具 举报
小黑子 发表于 2014-7-31 12:52
哦,是这个样子啊。谢谢啊。
敢问大神报了哪个黑马班?

自学中,还没报呢
回复 使用道具 举报
fantacyleo 发表于 2014-7-31 13:14
自学中,还没报呢

亲,你的黑马毕都173了,你的技术分都43了,你这是自学多长时间 了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马