/ / zmuszanie podklasy do robienia czegoś za każdym razem, gdy wywoływany jest dowolny konstruktor nadklasy - java, konstruktor, nadklasa

tworzenie subClass robi coś za każdym razem, gdy wywoływany jest dowolny z super klasy "konstruktor" - java, constructor, superclass

Chcę rozszerzyć JPanel.

class VisiblePanel extends JPanel{

}

Jak mogę zrobić VisiblePanel połączenie setVisible(true); za każdym razem, gdy jest on tworzony, bez zastępowania wszystkich konstruktorów jeden po drugim?

Odpowiedzi:

1 dla odpowiedzi № 1

podając domyślny konstruktor, który wywołuje this.setVisible(true); i upewniając się, że w przypadku przeciążenia konstruktora nadal się nim zajmujesz


0 dla odpowiedzi nr 2

Łączę odpowiedź Jigara Joshi z komentarzem DaaaahWhoosha i dodajemy jeszcze trochę.

Konstruktory superklasy nie są dziedziczone, więc nie ma możliwości wywołania konstruktorów superklasy. (Java Constructor Inheritance)

Najlepszym sposobem na zrobienie tego byłoby utworzeniedomyślny (bez parametrów) konstruktor, który wykonuje żądaną akcję i wywołuje ją z innych konstruktorów. Jeśli wymagany jest domyślny konstruktor, aby zrobić coś, czego nie powinni robić inni konstruktorzy, należy stworzyć metodę inicjalizacji i wywołać ją z każdego konstruktora.