java new 发生了什么
收起
云计算小粉
2018-05-10 20:08:02
1513
0
1
条回答
写回答
取消
提交回答
-
创建一个对象通常需要两步:
1. 定义构造函数;
2. 通过new来创建对象实例。
当我们使用new新建一个对象的时候,以new foo(...)为例:
1. 一个新的对象被创建,同时继承了对象类型的原型,即foo.prototype;
2. 执行对象类型的构造函数,同时该实例的属性和方法被this所引用,即this指向新构造的实例;
3. 如果构造函数return了一个新的“对象”,那么这个对象就会取代整个new出来的结果。如果构造函数没有return对象,那么就会返回步骤1所创建的对象,即隐式返回this。(一般情况下构造函数不会返回任何值,不过在一些特殊情况下,如果用户想覆盖这个值,可以选择返回一个普通的对象来覆盖。)
2019-07-17 22:16:37