Rumah  >  Artikel  >  Java  >  ## Apakah Tanda Dolar dalam Kelas Java Tersusun dan Apakah Maksudnya?

## Apakah Tanda Dolar dalam Kelas Java Tersusun dan Apakah Maksudnya?

Susan Sarandon
Susan Sarandonasal
2024-10-26 09:18:02962semak imbas

## What Are Dollar Signs in Compiled Java Classes and What Do They Mean?

Memahami Tanda Dolar dalam Kelas Java Tersusun

Apabila memeriksa fail JAR yang dijana daripada Eclipse, pengguna kadangkala menemui kelas dengan tanda dolar ($), diikuti dengan nombor. Fenomena ini, terutamanya yang ketara dalam kelas yang lebih besar, telah menimbulkan persoalan sama ada ia menunjukkan berbilang versi kompilasi kelas.

Penjelasan

Kehadiran tanda dolar dalam nama kelas menandakan kelas dalaman . Ini adalah kelas tambahan yang ditakrifkan dalam kelas luar. Pengkompil memberikan nombor unik kepada setiap kelas dalaman untuk membezakannya.

Sebagai contoh, kod berikut mentakrifkan kelas luar dengan dua kelas bersarang:

<code class="java">public class Find {
    private class InnerClass1 {}
    private class InnerClass2 {}
}</code>

Setelah penyusunan, kelas berikut fail akan dijana:

  • Find.class
  • Find$InnerClass1.class
  • Find$InnerClass2.class

Selain itu, kelas dalam tanpa nama, yang merupakan kelas yang diisytiharkan dan dinyatakan dalam satu pernyataan, juga diwakili dengan tanda dolar diikuti dengan nombor.

<code class="java">public class Main {
    public static void main(String[] args) {
        new Thread() { // Anonymous inner class
            // Override run() method
        }.start();
    }
}</code>

Dalam contoh ini, kelas dalam tanpa nama akan menghasilkan fail kelas dinamakan Main$1.class.

Implikasi untuk Saiz Kelas

Bertentangan dengan andaian awal, saiz kelas luar tidak menentukan sama ada kelas dalam akan dijana. Kelas dalam dijana semata-mata berdasarkan kehadiran kelas bersarang, tanpa mengira saiz kelas luar.

Atas ialah kandungan terperinci ## Apakah Tanda Dolar dalam Kelas Java Tersusun dan Apakah Maksudnya?. 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