Anonyme Java-Klasse

Inhaltsverzeichnis

In diesem Tutorial lernen Sie anhand von Beispielen anonyme Klassen in Java kennen.

In Java kann eine Klasse eine andere Klasse enthalten, die als verschachtelte Klasse bezeichnet wird. Es ist möglich, eine verschachtelte Klasse ohne Angabe eines Namens zu erstellen.

Eine verschachtelte Klasse ohne Namen wird als anonyme Klasse bezeichnet.

Eine anonyme Klasse muss innerhalb einer anderen Klasse definiert werden. Daher ist es auch als anonyme innere Klasse bekannt. Die Syntax lautet:

 class outerClass ( // defining anonymous class object1 = new Type(parameterList) ( // body of the anonymous class ); ) 

Anonyme Klassen erweitern normalerweise Unterklassen oder implementieren Schnittstellen.

Hier kann Typ sein

  1. Eine Oberklasse, die eine anonyme Klasse erweitert
  2. Eine Schnittstelle, die eine anonyme Klasse implementiert

Der obige Code erstellt object1zur Laufzeit ein Objekt einer anonymen Klasse.

Hinweis: Anonyme Klassen werden in einem Ausdruck definiert. Das Semikolon wird also am Ende anonymer Klassen verwendet, um das Ende des Ausdrucks anzugeben.

Beispiel 1: Anonyme Klasse Erweitern einer Klasse

 class Polygon ( public void display() ( System.out.println("Inside the Polygon class"); ) ) class AnonymousDemo ( public void createClass() ( // creation of anonymous class extending class Polygon Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Ausgabe

 In einer anonymen Klasse. 

Im obigen Beispiel haben wir eine Klasse Polygon erstellt. Es gibt eine einzige Methode display().

Anschließend haben wir eine anonyme Klasse erstellt, die die Klasse Polygon erweitert und die display()Methode überschreibt .

Wenn wir das Programm ausführen, wird ein Objekt p1 der anonymen Klasse erstellt. Das Objekt ruft dann die display()Methode der anonymen Klasse auf.

Beispiel 2: Anonyme Klasse, die eine Schnittstelle implementiert

 interface Polygon ( public void display(); ) class AnonymousDemo ( public void createClass() ( // anonymous class implementing interface Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Ausgabe

 In einer anonymen Klasse. 

Im obigen Beispiel haben wir eine anonyme Klasse erstellt, die die PolygonSchnittstelle implementiert .

Vorteile anonymer Klassen

In anonymen Klassen werden Objekte erstellt, wann immer sie benötigt werden. Das heißt, Objekte werden erstellt, um bestimmte Aufgaben auszuführen. Beispielsweise,

 Object = new Example() ( public void display() ( System.out.println("Anonymous class overrides the method display()."); ) ); 

Hier wird ein Objekt der anonymen Klasse dynamisch erstellt, wenn die display()Methode überschrieben werden muss.

Anonyme Klassen helfen uns auch dabei, unseren Code präzise zu gestalten.

Interessante Beiträge...