假设我有
class MyObject
{
Object object1 = new Object();
Object object2;
public MyObject()
{
object2 = new Object();
}
public MyObject(Object object2)
{
this.object2 = object2;
}
public MyObject(Object object1, Object object2)
{
this.object1 = object1;
this.object2 = object2;
}
}
什么时候object1
得到初始化?前object2
, after object2
, 依靠?
如果我的构造函数与全局定义冲突会发生什么object1
,例如在上面的第三个构造函数中。哪个值object
take?
这不会给我带来任何问题,但我只是想更好地理解这门语言。我喜欢了解这些小事情,以便以后能够利用它们。
因此,如果您更改构造函数体内变量的值,则变量初始值设定项设置的任何值都将被覆盖。 (当然,之前的值可以在其他链式构造函数等中使用。)
See 第12.5节JLS 的详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)