您的位置 首页 java

构造器负责创建Java对象?大错特错!

我们要使用一个类的实例对象时,常常使用以下的方法来创建一个实例对象。

看起来,似乎我们是通过Student类中的 构造方法 去创建的实例对象。

然而,真实情况却并不是这样的。

的确, 构造器 是创建Java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回了该类的对象,但是这

个对象并不是完全由构造器负责创建的。实际上,当程序员调用构造器时,系统会先为该对象分配内存空间,并为这个对

象执行默认初始化,这个对象已经产生了——这些操作在构造器执行之前都完成了。也就是说,当系统开始执行构造器的

构造体之前,系统已经创建一个对象,只是这个对象还不能被外部程序访问,只能在该构造器中通过this来引用。当构造

器的执行体执行结束后,这个对象作为构造器的返回值被返回,通常还会赋给另一个引用变量,从而让程序外部可以访问该对象。

也就是说,它们之间的关系和顺序是这样的:

1、分配内存,对象执行默认初始化

2、调用构造方法

3、返回实例对象

所以说,由构造器创建对象的说法是错误的。

文章来源:智云一二三科技

文章标题:构造器负责创建Java对象?大错特错!

文章地址:https://www.zhihuclub.com/182065.shtml

关于作者: 智云科技

热门文章

网站地图