Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele

Java anonyme innere Klassen meistern

Entdecken Sie, wie Sie anonyme innere Klassen in Java definieren, implementieren und nutzen – mit klaren, realitätsnahen Beispielen.

In Java kann eine Klasse eine andere Klasse verschachteln – eine innere Klasse. Wenn diese innere Klasse keinen expliziten Namen hat, nennt man sie anonyme innere Klasse.

Anonyme innere Klassen werden inline innerhalb einer anderen Klasse oder eines Ausdrucks definiert. Da ihnen ein Name fehlt, werden sie nur erstellt, wenn der umgebende Code ausgeführt wird, was sie ideal für kurze, einmalige Implementierungen macht.

Das typische Muster ist:

class AussenKlasse { // anonyme innere Klassen-Instanz erstellen Typ instanz = new Typ(parameter) { // überschriebene Methoden oder zusätzliches Verhalten }; } 

Hier kann Typ entweder sein:

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

Zur Laufzeit konstruiert die obige Anweisung eine Instanz der anonymen Klasse, die dann über den deklarierten Referenztyp verwendet werden kann.

Wichtig: Da die Deklaration ein Ausdruck ist, beendet das schließende Semikolon die Anweisung, nicht der Klassenkörper.


Beispiel 1: Klasse mit anonymer innerer Klasse erweitern

class Polygon { public void anzeigen() { System.out.println("Innerhalb der Polygon-Klasse"); } } class AnonymDemo { public void klasseErstellen() { Polygon p1 = new Polygon() { @Override public void anzeigen() { System.out.println("Innerhalb einer anonymen Klasse."); } }; p1.anzeigen(); } } public class Haupt { public static void main(String[] args) { new AnonymDemo().klasseErstellen(); } } 

Ausgabe:

Innerhalb einer anonymen Klasse.

In dieser Illustration erweitert die anonyme Klasse Polygon und überschreibt anzeigen(). Wenn klasseErstellen() läuft, wird eine Instanz der anonymen Unterklasse erstellt, und ihre überschriebene Methode wird aufgerufen.


Beispiel 2: Schnittstelle mit anonymer innerer Klasse implementieren

interface Polygon { void anzeigen(); } class AnonymDemo { public void klasseErstellen() { Polygon p1 = new Polygon() { @Override public void anzeigen() { System.out.println("Innerhalb einer anonymen Klasse."); } }; p1.anzeigen(); } } public class Haupt { public static void main(String[] args) { new AnonymDemo().klasseErstellen(); } } 

Ausgabe:

Innerhalb einer anonymen Klasse.

Hier implementiert die anonyme Klasse die Polygon-Schnittstelle und stellt die erforderliche Methodenimplementierung in einem einzigen, prägnanten Block bereit.


Warum anonyme innere Klassen verwenden?

Anonyme innere Klassen glänzen in Szenarien, wo Sie eine kurze, kontextspezifische Implementierung benötigen:

Vorteile umfassen:

Für größere, wiederverwendbare Logik ziehen Sie benannte Klassen oder Lambda-Ausdrücke (für funktionale Schnittstellen) in Betracht, um den Code wartbar zu halten.

Java

  1. Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
  2. Java instanceof-Operator: Ein umfassender Leitfaden
  3. Java-Vererbung meistern: Konzepte, Typen und praktische Beispiele
  4. Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
  5. Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
  6. Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
  7. Java ArrayList meistern: Operationen, Methoden und Best Practices
  8. Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
  9. Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
  10. Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen