Statik Bidang dan Kaedah dalam Kelas Dalam: Sekatan dan Sebab
Kelas dalaman, juga dikenali sebagai kelas bersarang, adalah kelas yang diisytiharkan dalam kelas lain. Mereka diklasifikasikan sebagai sama ada kelas dalam contoh atau kelas dalam statik.
Kelas Dalaman Contoh
Kelas dalam contoh, seperti namanya, dikaitkan dengan kejadian yang disertakan kelas. Mereka mempunyai akses kepada pembolehubah dan kaedah contoh kelas yang disertakan melalui kata kunci ini. Walau bagaimanapun, medan dan kaedah statik tidak dibenarkan dalam contoh kelas dalam.
Kelas Dalaman Statik
Kelas dalam statik, sebaliknya, tidak mempunyai akses kepada melampirkan pembolehubah atau kaedah contoh kelas. Mereka berkelakuan seperti kelas biasa yang bersarang dalam kelas yang disertakan dan boleh mengisytiharkan medan dan kaedah statik.
Sekatan pada Medan dan Kaedah Statik dalam Kelas Dalam
Java melarang medan statik dan kaedah contohnya kelas dalaman kerana:
Pertimbangan Pelaksanaan
Secara teknikal, sekatan pada medan statik dan kaedah dalam kelas dalaman dikuatkuasakan oleh Mesin Maya Java (JVM). JVM memberikan pengecam masa jalan kepada setiap contoh kelas dalaman, menjadikannya unik bagi setiap contoh kelas yang disertakan. Akibatnya, pengkompil membenderakan sebarang percubaan untuk mengisytiharkan medan atau kaedah statik dalam kelas dalaman, kerana JVM tidak dapat membezakan antara ahli peringkat kelas dan peringkat contoh dalam kelas dalaman.
Ringkasnya, Java melarang medan dan kaedah statik dalam kelas dalam contoh untuk mengekalkan perbezaan yang jelas antara kelakuan seluruh kelas dan khusus contoh, memastikan keselamatan benang dan selaras dengan prinsip reka bentuk bahasa yang memisahkan ahli berkaitan dan statik. .
Atas ialah kandungan terperinci Mengapa Medan dan Kaedah Statik Tidak Dibenarkan dalam Kelas Dalaman Contoh di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!