Kelas Kompilasi Java dengan Tanda Dolar
Pengaturcara Java sering menghadapi konvensyen penamaan yang pelik dalam fail kelas yang disusun mereka. Sesetengah kelas mempamerkan corak ganjil nama kelas mereka diikuti dengan tanda dolar dan nombor. Contohnya, anda mungkin melihat fail seperti:
Menyelidiki Sebabnya
Bertentangan dengan kepercayaan popular, saiz kelas tidak mencetuskan tingkah laku ini. Jawapannya terletak pada kelas dalaman. Apabila kelas mengandungi kelas dalaman, pengkompil menjana fail kelas berasingan untuk kelas dalaman tersebut. Nama fail mengikut corak:
OuterClass.class OuterClass$InnerClass.class
Kelas Dalaman Tanpa Nama
Kelas dalam tanpa nama, yang ditakrifkan tanpa nama tersuai, diberikan nombor. Ini menerangkan "Find$1.class" dan nama fail yang serupa.
Contoh
Pertimbangkan coretan kod berikut:
public class OuterClass { class InnerClass { } Serializable anonymous = new Serializable() { }; }
Pengkompil akan menjana fail kelas berikut:
Kelas Tanpa Nama Dipertimbangkan?
Penggunaan kelas dalaman tanpa nama telah tertakluk kepada perdebatan. Sesetengah menganggapnya sebagai bau kod, manakala yang lain berpendapat kesesuaiannya dalam senario tertentu. Akhirnya, keputusan untuk menggunakannya adalah berdasarkan keperluan reka bentuk khusus.
Atas ialah kandungan terperinci Mengapa Kelas Kompilasi Java Mempunyai Tanda Dolar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!