Конструктор без аргументов, вызывающий конструктор с двумя аргументами - PullRequest
4 голосов
/ 15 декабря 2011

Я пытаюсь сделать так, чтобы 2-аргументный конструктор стал конструктором по умолчанию. Я имею в виду это; когда вызывается конструктор без аргументов, он вызывает 2-аргументный конструктор со значениями по умолчанию.

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;
  }
}

Как мне вызвать 2-й конструктор?

1 Ответ

21 голосов
/ 15 декабря 2011

Просто напишите

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

Обратите внимание, что это должно быть самым первым делом в конструкторе.

(Это указано в §8.8.7.1 "Явные вызовы конструктора"из Спецификация языка Java, Java SE 8 Edition , в которой также указано, как вызывать конкретный конструктор суперкласса.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...