JavaRush /Blog Java /Random-PL /Wywołanie konstruktora z konstruktora
alexnjc
Poziom 31

Wywołanie konstruktora z konstruktora

Opublikowano w grupie Random-PL
Często, aby uniknąć pisania zduplikowanego kodu inicjującego, konieczne jest wywołanie kodu jednego konstruktora z innego.
Wywołanie konstruktora z konstruktora - 1
Oto przykład, jak można to zrobić:
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);
  }
}
Jak widać, używamy do tego słowa kluczowego this, po którym w nawiasach podajemy parametry odpowiedniego konstruktora (w tym przypadku z dwoma parametrami). Możesz wywołać jednego konstruktora z innego w tej samej klasie lub w nadklasie, z następującymi ograniczeniami:
  • Konstruktor, który ma zostać wywołany, musi znajdować się w pierwszym wierszu kodu konstruktora wywołującego.
  • Konstruktor zagnieżdżony nie może mieć żadnego jawnego ani ukrytego odniesienia do „tego”. Nie możesz więc dostać się do klasy wewnętrznej.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION