Wpis z mikrobloga

#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
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@yras8: super konstruktorów używa się w super aplikacjach.

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.
  • Odpowiedz