Hallo,
ich bin zur Zeit dabei, den Videokurs "Java leicht gemacht - Der umfassende Java Einsteigerkurs A-Z" nachzubauen und stehe gerade bei den anyonmen Klassen. ein wenig auf dem Schlauch. Laut Video leihen sich anonyme Klassen den Namen von einer anderen Klasse oder einem Interface.
Bisher haben wir ja ein Objekt immer so angelegt:
Person p1 = new Person("Ralf");
Und bei den anonymen Klassen steht plötzlich folgendes:
Wenn ich das bisher richtig verstanden habe, muss doch aber jedes angelegte Objekt irgendwohin referenziert werden (d.h. p1 verweist auf das Objekt Ralf). Fehlt diese Verknüpfung, ist das Objekt Ralf nutzlos und wird vom Garbage Collector entsorgt. Wieso wird dann plötzlich bei den anonymen Klassen ein Objekt "Olaf" ohne eine solche Referenz erstellt ? Würde das nicht gleich vom GC wieder entsorgt ?
ich bin zur Zeit dabei, den Videokurs "Java leicht gemacht - Der umfassende Java Einsteigerkurs A-Z" nachzubauen und stehe gerade bei den anyonmen Klassen. ein wenig auf dem Schlauch. Laut Video leihen sich anonyme Klassen den Namen von einer anderen Klasse oder einem Interface.
Bisher haben wir ja ein Objekt immer so angelegt:
Person p1 = new Person("Ralf");
Und bei den anonymen Klassen steht plötzlich folgendes:
Code:
new Person("Olaf") {
@Override
public void printName() {
System.out.println("Der Name: " + this.getName());
}
};
Wenn ich das bisher richtig verstanden habe, muss doch aber jedes angelegte Objekt irgendwohin referenziert werden (d.h. p1 verweist auf das Objekt Ralf). Fehlt diese Verknüpfung, ist das Objekt Ralf nutzlos und wird vom Garbage Collector entsorgt. Wieso wird dann plötzlich bei den anonymen Klassen ein Objekt "Olaf" ohne eine solche Referenz erstellt ? Würde das nicht gleich vom GC wieder entsorgt ?