我试图调用将2-arg构造函数作为默认构造函数。 我的意思是这个;当调用no-arg构造函数时,它会调用 具有默认值的2-arg构造函数。
public class Foo
{
int foo1;
int foo2;
public Foo()
{
Foo(0, 0); //error //I also tried this.Foo(0,0);
}
public Foo(int one, int two)
{
this.foo1 = one;
this.foo2 = two;
}
}
如何调用第二个构造函数?
答案 0 :(得分:20)
只需写下
public Foo()
{
this(0, 0);
}
请注意,它必须是构造函数中的第一件事。
(这在§8.8.7.1 "Explicit Constructor Invocations" of The Java Language Specification, Java SE 8 Edition中指定,它还指定了如何调用特定的超类构造函数。)