Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Anonyme Klassen

0 views
Skip to first unread message

Chris

unread,
Sep 9, 2000, 5:36:14 AM9/9/00
to
Hi,

ich hab mal folgende Frage:

Wenn ich innerhalb eines Blocks folgenden Ausdruck habe:

WindowListener li = new WindowAdapter()
{
public void windowClosing(WindowEvent we)

{
System.exit(0);
}
};

dann handelt es sich dabei doch um eine anonyme Klasse und es wird ein
Objekt vom Typ WindowAdapter erzeugt und anschließend auf WindowListener
gecastet, was möglich ist, da WindowAdapter WindowListener
implementiert.

Habe ich mir die Sache richtig zusammengreimt oder liege ich daneben?

MfG

Chris

Peter Hormanns

unread,
Sep 9, 2000, 6:18:15 AM9/9/00
to
Fast richtig, es wird ein Objekt der anonymen Klasse
erzeugt. Diese erbt von WindowAdaper, überschreibt
jedoch die Methode "windowClosing". Das ganze kann --
wie du richtig schreibst -- eienr Variable des Typs
WindowListener zugewiesen werden, weil das Interface
WindowListener von WindowAdapter und damit auch von der
anonymen Klasse omplementiert wird. Die anonyme Klasse
ist eine "richtige" Java-Klasse, sie hat nur keinen
"richtigen" Namen. Du findest aber class-Files zu diesen
Klassen. Sie heißen: <NameDerSource>@<Ziffer>.class,
also zum Beispiel "MeineKlasse$1.class".

Gruß,
Peter Hormanns

Marc Spisländer

unread,
Sep 9, 2000, 6:50:30 AM9/9/00
to
Chris wrote:

Fast. Es wird kein WindowAdapter erzeugt, sondern ein Objekt einer anonymen
Klasse erzeugt, die die Klasse WindowAdapter als Vorfahren hat.
Anschließend greifst du auf dieses Objekt mittels der Schnittstelle
WindowListener. Ob man auch in diesem Fall von Casting reden kann, weiß ich
nicht.


0 new messages