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

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

Susan Sarandon
Lepaskan: 2024-10-26 09:18:02
asal
1102 orang telah melayarinya

## 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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
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