首頁  >  文章  >  Java  >  Java 匿名內部類別的生命週期是怎麼樣的?

Java 匿名內部類別的生命週期是怎麼樣的?

王林
王林原創
2024-05-01 16:06:01945瀏覽

匿名內部類別的生命週期由其作用域決定:方法局部內部類別:僅在創建它的方法範圍內有效。建構器內部類別:與外部類別實例綁定,當外部類別實例釋放時釋放。靜態內部類別:與外部類別同時載入卸載。

Java 匿名内部类的生命周期是怎样的?

Java 匿名內部類別的生命週期

#匿名內部類別在創建後,其生命週期主要受其所在作用域的影響:

  • 方法局部內部類別:僅在創建它的方法範圍內有效。當方法退出時,內部類別及其所有成員都會被釋放。
  • 建構器內部類別:在建立外部類別實例後,建構器內部類別就會生效。當外部類別實例被釋放時,內部類別也會被釋放。
  • 靜態內部類別:靜態內部類別與外部類別同時載入。當外部類別被卸載時,靜態內部類別也會被卸載。

實戰案例:

建立匿名內部類別實作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 也會被釋放。

以上是Java 匿名內部類別的生命週期是怎麼樣的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn