JavaRush /Java блог /Random UA /Виклик конструктора з конструктора
alexnjc
31 рівень

Виклик конструктора з конструктора

Стаття з групи Random UA
Часто для того, щоб уникнути написання коду ініціалізації, що повторюється, необхідно викликати код одного конструктора з іншого.
Виклик конструктора з конструктора - 1
Ось приклад, як це можна робити:
public class SomeClass {
  int a;
  int b;
  int c;

public SomeClass(int a, int b){
   this.a = a;
   this.b = b;
  }

public SomeClass(int a, int b, int c){
    // Вызов конструктора с двумя параметрами.
    this(a, b);
    this.c = c;
  }

public void show(){
    System.out.println("a = " + a);
    System.out.println("b = " + b);
    System.out.println("c = " + c);
  }
}
Як ви бачите, для цього використовується ключове слово this, після якого в круглих дужках вказуємо параметри для відповідного конструктора (з двома параметрами в даному випадку). Ви можете викликати одного конструктора з іншого в тому ж класі, або в надкласі, з такими обмеженнями:
  • Конструктор, що викликається, повинен бути в першому рядку коду в конструкторі, що викликає.
  • Вкладений конструктор не може мати жодного явного чи неявного посилання на "this". Таким чином, ви не можете потрапити у внутрішній клас.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ