Heim  >  Artikel  >  Java  >  Wie erstelle ich anonyme innere Klassen in Java?

Wie erstelle ich anonyme innere Klassen in Java?

WBOY
WBOYOriginal
2024-05-01 08:39:01329Durchsuche

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 匿名内部类如何创建?

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 die Comparator-Schnittstelle zu implementieren:
    rrreee
  • Vorteile
  • Einfachheit:
  • Anonyme innere Klassen können direkt erstellt werden, ohne eine separate Klasse zu definieren Datei.
  • Code-Wiederverwendung:
  • Sie können verwendet werden, um temporäre Implementierungen zu erstellen, die nur einmal verwendet werden.

Lokaler Geltungsbereich: Auf anonyme innere Klassen kann nur innerhalb des Geltungsbereichs der Klasse oder Methode zugegriffen werden, die sie erstellt hat.

  • Nachteile
  • Lesbarkeit:
  • Anonyme innere Klassen können das Lesen und Verstehen des Codes erschweren.
🎜🎜Debugging-Schwierigkeit: 🎜Da anonyme innere Klassen keine Namen haben, kann es beim Debuggen schwieriger sein, sie zu verfolgen. 🎜🎜

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn