Nicht wirklich.
Vielleicht ist eine Grafik notwendig.
Die Wolken repräsentieren die Klassen,
Rechtecke mit ganzen Rahmen repräsentieren Objekte,
und Rechtecke mit einem gepunkteten Rahmen repräsentieren
den static
Teil einer Klasse.
Betrachten wir noch einmal das
Beispielprogramm
, während wir die Grafik studieren.
ButtonFrame2
erweitert die Klasse JFrame
.main()
ist eine Klassenmethode der ButtonDemo
-Klasse
und kein Teil irgendeines Objekts.main()
enthält eine Referenzvariable
frm
, die auf ein ButtonFrame2
-Objekt verweist.
ButtonFrame2
Frame und sein Button
werden auf dem Bildschirm angezeigt.
ButtonFrame2
-Objekt geschickt.
ButtonFrame2
-Objekt ist als Listener für Action-Events registriert.ButtonFrame2
-Klasse implements ActionListener
undactionPerformed()
Methode.Wenn das noch nicht absolut klar ist, ist das nicht so schlimm. Es braucht normalerweise etwas Zeit alle diese Beziehungen zu verstehen. Ein bisschen mehr Praxis würde auch nicht schaden.
(Denkfrage: ) Könnte die static main()
Methode
als Teil der ButtonFrame2
-Klasse definiert werden,
so dass eine separate ButtonDemo2
-Klasse nicht gebraucht würde?