如果我使用此关键字调用同一类的另一个构造函数。它会创建两个对象吗?
如果是,在下面的示例中将激活哪个对象:
Class Sample {
int a;
String b;
Sample() {
this("Hello");
a=10;
}
Sample(String temp) {
b = temp;
}
}
我想知道Constructor链接的行为。请解释它是如何工作的?
答案 0 :(得分:8)
不,构造函数链接不会创建一个额外的实例,它只是执行链式构造函数的逻辑,允许您重用其代码。
答案 1 :(得分:2)
否下,
this("Hello");
在这里调用Sample(String temp)
构造函数,它不会创建另一个对象。
答案 2 :(得分:0)
正如其他人所说,你只会得到一个对象,每个构造函数初始化同一个对象。
最适合自己看看:
for
请注意,如果您尝试访问未初始化的字段,则在未完全初始化的对象上调用实例方法可能会导致问题,因此请谨慎处理。