Rumah > Java > javaTutorial > Pemadaman

Pemadaman

Linda Hamilton
Lepaskan: 2024-12-30 15:15:10
asal
671 orang telah melayarinya

Erasure (Apagamento de Tipos)

Apakah Pemadaman?
- Pemadaman ialah teknik yang digunakan oleh Java untuk melaksanakan generik, memastikan keserasian ke belakang dengan versi bahasa sebelumnya.

  • Semasa penyusunan, semua maklumat jenis generik *dialih keluar *(atau "dipadamkan").

2. Motivasi Menggunakan Pemadaman
Keserasian dengan kod lama:

  • Pengenalan generik dalam Java (JDK 5) tidak seharusnya membatalkan kod lama.
  • Reka bentuk generik diperlukan untuk memastikan kedua-dua kod generik dan bukan generik berfungsi dengan lancar.

Paksaan yang sesuai:

  • Pengkompil menambah paksaan untuk memastikan keserasian jenis dengan hujah yang diberikan.
  • Mengalih keluar maklumat daripada jenis generik:
  • Parameter jenis wujud hanya dalam kod sumber, tetapi tidak pada masa jalan.

4. Contoh Pemadaman dalam Tindakan

  • Kod generik:
class Gen<T> {
    T ob;

    Gen(T o) {
        ob = o;
    }

    T getOb() {
        return ob;
    }
}

Salin selepas log masuk
  • Kod demi pemadaman (cara pengkompil mengubahnya):
class Gen {
    Object ob;

    Gen(Object o) {
        ob = o;
    }

    Object getOb() {
        return ob;
    }
}

Salin selepas log masuk

Nota:

  • Parameter jenis digantikan dengan Objek.
  • Tiada maklumat generik tersedia dalam kod yang dijana.

5. Had Pemadaman
Maklumat jenis tiada pada masa jalan:

  • Jenis generik ialah mekanisme kod sumber dan tidak wujud selepas penyusunan.

Tidak boleh:

  • Dapatkan jenis generik tika pada masa jalan.
  • Mencipta tika jenis generik secara langsung (mis. T() baharu tidak dibenarkan).

6. Kesan Praktikal

Pemadaman menerangkan:

  • Mengapa generik tidak mempunyai lebihan muatan: Kaedah dengan tandatangan yang berbeza mengikut jenis generik sahaja tidak dibenarkan.
  • Mengapa tidak boleh menggunakan jenis primitif secara langsung dalam generik (cth.: Gen tidak sah; anda mesti menggunakan Gen).

Keselamatan masa kompilasi:

  • Walaupun maklumat jenis dipadamkan, pengkompil menyemak keserasian jenis semasa penyusunan.

7. Kesimpulan

  • Menggunakan pemadaman membenarkan generik untuk ditambahkan pada Java tanpa menjejaskan keserasian ke belakang.
  • Walaupun beberapa pengehadan, generik menyediakan keselamatan jenis pada masa penyusunan, manakala kod yang dijana kekal serasi dengan versi JVM sebelumnya.

Atas ialah kandungan terperinci Pemadaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan