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

时间:2011-12-15 19:14:28

标签: 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;
  }
}

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

1 个答案:

答案 0 :(得分:20)

只需写下

public Foo()
{
    this(0, 0);
}

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

(这在§8.8.7.1 "Explicit Constructor Invocations" of The Java Language Specification, Java SE 8 Edition中指定,它还指定了如何调用特定的超类构造函数。)

相关问题