Rumah  >  Artikel  >  Java  >  Apakah kitaran hayat kelas dalaman tanpa nama Java?

Apakah kitaran hayat kelas dalaman tanpa nama Java?

王林
王林asal
2024-05-01 16:06:01945semak imbas

Kitaran hayat kelas dalaman tanpa nama ditentukan oleh skopnya: Kaedah-kelas dalaman tempatan: sah hanya dalam skop kaedah yang menciptanya. Kelas dalaman pembina: terikat kepada contoh kelas luar dan dikeluarkan apabila tika kelas luar dikeluarkan. Kelas dalaman statik: dimuatkan dan dipunggah pada masa yang sama dengan kelas luaran. . Hanya apabila ia dibuat Sah dalam skop kaedah. Apabila kaedah keluar, kelas dalam dan semua ahlinya dilepaskan.

Java 匿名内部类的生命周期是怎样的?Kelas dalaman pembina:

Selepas mencipta tika kelas luaran, kelas dalaman pembina akan berkuat kuasa. Apabila tika kelas luar dikeluarkan, kelas dalam juga dikeluarkan.

Kelas dalaman statik:

Kelas dalaman statik dimuatkan pada masa yang sama dengan kelas luar. Apabila kelas luar dipunggah, kelas dalaman statik juga dipunggah.

  • Kes praktikal:
  • Buat kelas dalaman tanpa nama untuk melaksanakan antara muka 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);
    Dalam contoh ini, kelas dalam tanpa nama comparator digunakan untuk bandingkan senarai nombor untuk diisih. Memandangkan comparator ialah kelas dalaman tempatan, ia hanya boleh digunakan dalam skop kaedah yang menciptanya. Apabila kaedah isih selesai, comparator juga akan dikeluarkan.

Atas ialah kandungan terperinci Apakah kitaran hayat kelas dalaman tanpa nama Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn