Der Lebenszyklus einer anonymen inneren Klasse wird durch ihren Geltungsbereich bestimmt: Methodenlokale innere Klasse: nur gültig innerhalb des Geltungsbereichs der Methode, die sie erstellt hat. Konstruktor der inneren Klasse: An die Instanz der äußeren Klasse gebunden und freigegeben, wenn die Instanz der äußeren Klasse freigegeben wird. Statische innere Klassen: werden gleichzeitig mit externen Klassen geladen und entladen.
Der Lebenszyklus anonymer innerer Java-Klassen
Nachdem eine anonyme innere Klasse erstellt wurde, wird ihr Lebenszyklus hauptsächlich durch den Bereich beeinflusst, in dem sie sich befindet:
Praktischer Fall:
Erstellen Sie eine anonyme innere Klasse, um die Comparable
-Schnittstelle zu implementieren: Comparable
接口:
List<Integer> numbers = new ArrayList<>(); // 创建匿名内部类比较器 Comparator<Integer> comparator = new Comparator<Integer>() { @Override public int compare(Integer a, Integer b) { return a - b; } }; // 根据比较器排序列表 Collections.sort(numbers, comparator);
在这个例子中,匿名内部类 comparator
用于对 numbers
列表进行排序。由于 comparator
是局部内部类,它只能在创建它的方法范围内使用。当 sort
方法执行完毕,comparator
rrreee
comparator
verwendet Vergleichen Sie die Liste der zu sortierenden -Nummern
. Da comparator
eine lokale innere Klasse ist, kann sie nur im Rahmen der Methode verwendet werden, die sie erstellt hat. Wenn die Methode sort
abgeschlossen ist, wird auch comparator
freigegeben. 🎜Das obige ist der detaillierte Inhalt vonWas ist der Lebenszyklus anonymer innerer Java-Klassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!