无参构造函数调用2参数构造函数

Ash*_*and 4 java compiler-errors

我试图调用使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;
  }
}
Run Code Online (Sandbox Code Playgroud)

我如何调用第二个构造函数?

rua*_*akh 21

写吧

public Foo()
{
    this(0, 0);
}
Run Code Online (Sandbox Code Playgroud)

请注意,它必须是构造函数中的第一件事.

(这在Java语言规范Java SE 8 Edition的 §8.8.7.1"显式构造函数调用"中指定,它还指定了如何调用特定的超类构造函数.)