Konstruktory z super() i this()

Konstruktory z super() i this()
D3X
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 187
0

Czytając odmęty internetów :) dowiedziałem się, że klasa dziedziczy po obiekcie i to dodaje kompilator.

Dowiedziałem się też, że w tejże klasie kompilator dodaje bezargumentowy domyślny konstruktor, a w nim znajduje się super().

Stąd rodzi się pytanie. Czemu niemożliwe jest dodanie super() i this() w konstruktorze, jedno po drugim (kolejność dowolna)?

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Bo projektanci języka zdecydowali, że zarówno this(...) jaki i super(...) musi być pierwszą instrukcją konstruktora.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
5

Wołając this() wołasz automatycznie także super() bo konstruktor musi zawołać super(). Więc zawołanie obu tych metod w jednym miejscu powodowałoby zawołanie super() wielokrotnie.

D3X
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 187
0

@Shalom Super odpowiedź. Dzięki wielkie ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.