
#java
po co jest ten super konstruktor?
import java.awt.*;
class Okno extends Frame {
Okno(String nazwa) {
super(nazwa); //metoda super wywołuje konstruktor nadklasy
setResizable(false);
setSize(400, 400);
}
}// koniec class Okno
public class Dzialo {
public static void main(String args[]) {
Okno o = new Okno("Panel sterujący działem");
//Button – komponent graficzny przycisk
Button b = new Button("Ognia");
o.add(b);
o.setVisible(true);
}
}// koniec class Dzialo
po co jest ten super konstruktor?
import java.awt.*;
class Okno extends Frame {
Okno(String nazwa) {
super(nazwa); //metoda super wywołuje konstruktor nadklasy
setResizable(false);
setSize(400, 400);
}
}// koniec class Okno
public class Dzialo {
public static void main(String args[]) {
Okno o = new Okno("Panel sterujący działem");
//Button – komponent graficzny przycisk
Button b = new Button("Ognia");
o.add(b);
o.setVisible(true);
}
}// koniec class Dzialo
- Najlepsze
- Wszystkie komentarze






Chodzi o to, w tym przypadku, że obiekt klasy Frame nie może istnieć bez zasetowanego pola 'nazwa' -> gdyby nie wywołanie super(konstruktora), istniało by ryzyko, że stworzyłbyś taką instancję (jako Okno, czyli podklasę Frame) bez ustawienia tej nazwy. Dlatego kompilator zwróci Ci uwagę, gdy klasa, po której dziedziczysz nie posiada bezargumentowego konstruktora, i będziesz musiał wywołać jakiś inny.