Pengisytiharan Berbilang Kelas dalam Satu Fail Java
Dalam Java, adalah mungkin untuk mentakrifkan berbilang kelas dalam fail sumber yang sama. Walau bagaimanapun, amalan ini mempunyai beberapa kaveat dan batasan.
Kekurangan Nama Khusus untuk Teknik
Walaupun menjadi amalan yang agak biasa, teknik ini tidak mempunyai ciri khusus atau nama rasmi, tidak seperti pengkategorian kelas lain seperti dalam, bersarang atau tanpa nama kelas.
Had Kompilasi
Walaupun Spesifikasi Bahasa Java (JLS) menyatakan bahawa sistem boleh menguatkuasakan sekatan merujuk kepada kelas bukan awam dalam unit kompilasi lain, had ini tidak dilaksanakan secara konsisten merentas penyusun Java.
Javac's Pengehadan
Secara khusus, Javac mungkin mengeluarkan ralat semasa menyusun kelas yang merujuk kepada kelas peringkat atas daripada fail lain jika kedua-dua kelas bukan senama bagi fail yang mereka tinggal. Had ini disebabkan oleh ketidakupayaan pengkompil untuk menentukan fail sumber yang hendak dirujuk untuk kelas bukan awam.
Mengelakkan Isu
Untuk mengelakkan pengehadan ini, pembangun biasanya mematuhi konvensyen untuk meletakkan satu kelas peringkat atas dalam setiap fail sumber. Amalan ini juga membolehkan lebih fleksibiliti dalam menukar tahap akses kelas tanpa menjejaskan proses penyusunan.
Ciri Javac yang lebih baharu
Versi Javac yang lebih baharu turut memberikan amaran apabila menghadapi kelas tambahan yang dirujuk dari luar fail sumbernya, seterusnya menggalakkan penggunaan satu kelas peringkat teratas bagi setiap fail.
Atas ialah kandungan terperinci Bolehkah Berbilang Kelas Java Wujud dalam Satu Fail, dan Apakah Implikasinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!