Anonyme innere Klassen sind innere Klassen, die beim Erstellen einer Instanz ohne expliziten Namen definiert werden. Syntax: new 81640a2e7d899b63558396dfd15f05bb() { // Anonymer innerer Klassenkörper}. Vorteile: Einfachheit, Wiederverwendung von Code, lokaler Geltungsbereich. Nachteile: schlechte Lesbarkeit und Schwierigkeiten beim Debuggen. Zu den praktischen Beispielen gehören das Überschreiben anonymer Klassen und die Implementierung anonymer Schnittstellen.
Java Anonymous Inner Class Creation Guide
Was ist eine anonyme innere Klasse?
Anonyme innere Klasse ist eine innere Klasse, die beim Erstellen einer Instanz definiert wird. Sie haben keinen expliziten Namen und werden häufig verwendet, um eine Klasse oder Schnittstelle kurzfristig zu überschreiben oder zu implementieren.
Anonyme innere Klasse erstellen
Um eine anonyme innere Klasse in Java zu erstellen, verwenden Sie die folgende Syntax:
new <基类或接口名>() { // 匿名内部类体 };
Der Basisklassen- oder Schnittstellenname ist die Klasse oder Schnittstelle, von der die anonyme innere Klasse erbt oder implementiert. Der Klassenkörper enthält die Definitionen der Methoden und Felder der anonymen inneren Klasse.
Praktischer Fall
1. Überschreiben anonymer Klassen
Verwenden Sie anonyme innere Klassen, um die run()
-Methode der Runnable
-Klasse zu überschreiben: Runnable
类的 run()
方法:
Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("匿名内部类线程运行"); } }); thread.start();
2. 实现匿名接口
使用匿名内部类实现 Comparator
List<String> strings = new ArrayList<>(); Comparator<String> comparator = new Comparator<>() { @Override public int compare(String s1, String s2) { return s1.length() - s2.length(); } }; strings.sort(comparator);
2. Anonyme Schnittstelle implementieren
Anonyme innere Klasse verwenden, um dieComparator
-Schnittstelle zu implementieren: Lokaler Geltungsbereich: Auf anonyme innere Klassen kann nur innerhalb des Geltungsbereichs der Klasse oder Methode zugegriffen werden, die sie erstellt hat.
Das obige ist der detaillierte Inhalt vonWie erstelle ich anonyme innere Klassen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!