黑马程序员技术交流社区

标题: 构造函数创建对象的问题 [打印本页]

作者: 依然超级赛亚人    时间: 2014-7-23 21:25
标题: 构造函数创建对象的问题
本帖最后由 依然超级赛亚人 于 2014-8-13 08:08 编辑

我们学过,构造函数是用来创建对象的,给对象进行初始化,一般是系统默认给出的。这句话是不是可以说,在写"new..."语句前,对象已经被构造出来了,当我们写“new...”语句时其实是调用原本已经存在的对象?我之前的理解是new 就代表创建一个对象,是对象开始存在的标志。
作者: wisely    时间: 2014-7-23 21:40
这个题目问的有些问题。

对象中包括成员属性,成员属性的默认初始化只是new对象中的一步。

先加载类,再开辟空间,分配内存空间。之后的默认初始化,显式初始化等等,都只是创建对象的一个个步骤而已
作者: 依然超级赛亚人    时间: 2014-7-23 21:57
wisely 发表于 2014-7-23 21:40
这个题目问的有些问题。

对象中包括成员属性,成员属性的默认初始化只是new对象中的一步。

噢,原来如此。我之前一直以为直到new才“从无到有“的创建了对象,才表示这个对象开始存在了。
作者: wisely    时间: 2014-7-24 00:35
wisely 发表于 2014-7-23 21:40
这个题目问的有些问题。

对象中包括成员属性,成员属性的默认初始化只是new对象中的一步。

内流满面哪

技术分给的捉摸不透啊……
作者: liubea    时间: 2014-7-24 01:04
使用new创建对象的时候,其实做了三件事:第一,系统为对象开辟一块内存空间;第二,调用该类相应的构造方法创建对象;第三,把创建出来的对象的地址返回给对象的引用。楼主怎么看呢?
作者: 依然超级赛亚人    时间: 2014-7-24 06:53
wisely 发表于 2014-7-24 00:35
内流满面哪

技术分给的捉摸不透啊……

我认为这是你该得的,版主肯定感觉你的回答技术性够强而且能很好解决问题才给的,鼓掌!
作者: 依然超级赛亚人    时间: 2014-7-24 06:55
liubea 发表于 2014-7-24 01:04
使用new创建对象的时候,其实做了三件事:第一,系统为对象开辟一块内存空间;第二,调用该类相应的构造方 ...

完全赞同你的看法,是我肤浅了。:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2