Heim  >  Artikel  >  Java  >  Wie implementieren die inneren Klassen und Teilklassen von Java Abschlüsse?

Wie implementieren die inneren Klassen und Teilklassen von Java Abschlüsse?

王林
王林Original
2024-05-02 10:45:01625Durchsuche

Verwenden Sie innere Klassen und lokale Klassen, um Abschlüsse in Java zu implementieren: Innere Klassen: In äußeren Klassen verschachtelt, können sie auf private Variablen der äußeren Klasse zugreifen und Abschlüsse implementieren. Lokale Klassen: in Methoden oder Blöcken definiert, können auf Variablen in dem Block zugreifen, in dem sie erstellt werden, und Abschlüsse implementieren. Auch wenn die lokale Variable oder die Instanz der äußeren Klasse nicht mehr referenziert wird, kann die innere oder lokale Klasse weiterhin auf ihren Wert zugreifen und so ein Abschlussverhalten simulieren.

Java 的内部类和局部类如何实现闭包?

Implementieren von Abschlüssen in Java mithilfe innerer und lokaler Klassen

Einführung

Abschlüsse sind eine JavaScript-Sprachfunktion, die durch die Verknüpfung einer Funktion mit der lokalen Variablenumgebung, in der die Funktion erstellt wurde, erstellt wird. Anfangs verfügte Java nicht über eine integrierte Unterstützung für Schließungen, das Schließungsverhalten kann jedoch mithilfe innerer und lokaler Klassen simuliert werden.

Innere Klasse

Eine innere Klasse ist eine Klasse innerhalb einer anderen sogenannten äußeren Klasse. Auf private Variablen der äußeren Klasse kann zugegriffen werden, wodurch Abschlüsse implementiert werden.

public class OuterClass {

    private int value = 10;

    public InnerClass getInnerClass() {
        return new InnerClass();
    }

    public class InnerClass {

        public int getValue() {
            return value;
        }
    }
}

Praktischer Fall

OuterClass outerClass = new OuterClass();
OuterClass.InnerClass innerClass = outerClass.getInnerClass();

// 即使外部类实例outerClass不再引用,innerClass仍可访问其值。
System.out.println(innerClass.getValue()); // 输出:10

Teilklasse

Eine lokale Klasse ist eine Klasse, die in einer Methode oder einem Block definiert ist. Sie haben Zugriff auf Variablen innerhalb des Blocks, in dem sie erstellt werden, und implementieren so Abschlüsse.

public class ClosureExample {

    public static void main(String[] args) {
        int value = 10;

        // 局部类可以访问value变量
        class LocalClass {
            public int getValue() {
                return value;
            }
        }

        LocalClass localClass = new LocalClass();

        // 即使局部变量value范围之外,localClass仍可访问其值。
        System.out.println(localClass.getValue()); // 输出:10
    }
}

Fazit

Das Verhalten von Abschlüssen kann in Java mithilfe innerer und partieller Klassen simuliert werden. Indem wir lokale Variablen zugänglich machen, können wir Objekte erstellen, auf die außerhalb des Funktionsaufrufs verwiesen werden kann.

Das obige ist der detaillierte Inhalt vonWie implementieren die inneren Klassen und Teilklassen von Java Abschlüsse?. 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