ne das sind beides keine anonymen Objekte, im ersten könnte man vielleicht Integer und Kreis als so etwas bezeichnen aber richtig anonym ists noch nicht new Thread().start(); ist eins
Direkt nach dem Erzeugen wird es gestartet und sofort vergessen.
Ist anonyme Klasse nicht gleich wie anonymes Objekt?
Im Lernheft steht’s:
Ein solches Objekt, das nicht erst einem Bezeichner zugewiesen wird, nennt man
ein anonymes Objekt. Es liegt auf der Hand, dass man ein solches Objekt nur an der
Stelle, an der es erzeugt wird, verwenden kann, weil es keinen Bezeichner hat, mit dem
man es auch an anderen Stellen ansprechen könnte.
Das stimmt schon.
Aber ein Objekt ist nur ein vom Reißbrett in die Produktion gegebenes und fertig produziertes “Ding” (Klasse).
Die Klasse ist der Baulplan für Objekte.
Das Objekt ist quasi eine Materialisierung einer skizzierten und beschriebenen Sache.
Die Objekt orientierte Programmierung hält sich ziemlich nah an der Denkweise des Menschen und an die “wirkliche” Welt.
die erste Antwort ist auf alle Faelle richtig… anonyme Objekte sind wie hier schon gesagt Objekte die direkt „verwertet“ werden ohne eine Referenz zu speichern.
Michaels zweite Antwort mit den Methoden ist falsch… das hat nichts mit anonymen Objekten zu tun.
OFFTOPIC…
so und da ich auch hier noch Groovy einbringen muss (ja das muesst ihr ueber euch ergehen lassen)…
was ist schoener
JButton button = new JButton("Button")
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Button wurde geklickt");
}
});
oder
button(text:'Button', actionPerformed:{ println "Button wurde geklickt" })