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.
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:
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.
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!