Pembolehubah Antara Muka: Statik dan Akhir mengikut Reka Bentuk
Antara muka Java mempunyai tujuan penting dalam mentakrifkan kaedah yang diwajibkan secara kontrak untuk dilaksanakan oleh kelas. Selain pengisytiharan kaedah, antara muka juga menyokong pembolehubah. Menariknya, pembolehubah ini mempamerkan ciri unik: kedua-duanya statik dan muktamad secara lalai. Memahami rasional di sebalik pilihan reka bentuk ini adalah penting untuk pengaturcaraan Java yang berkesan.
Mengapa Statik?
Pengubah suai statik dalam Java menandakan pembolehubah yang dikaitkan dengan kelas itu sendiri dan bukannya contoh kelas individu. Apabila digunakan pada pembolehubah antara muka, statik memastikan ia dikongsi antara semua kelas yang melaksanakan antara muka. Ini masuk akal kerana pembolehubah antara muka bertujuan untuk mewakili sifat biasa yang digunakan merentas semua keadaan kelas yang melaksanakan antara muka.
Sebagai contoh, pertimbangkan antara muka ISshape yang mentakrifkan pembolehubah yang mewakili pemalar geometri seperti PI. Pembolehubah ini harus mengekalkan nilai yang sama tanpa mengira pelaksanaan bentuk tertentu. Menjadikannya statik memastikan gelagat ini.
Mengapa Akhir?
Pengubah suai akhir menjadikan pembolehubah tidak berubah, melarang penugasan semula setelah dimulakan. Ciri ini sejajar dengan sifat pembolehubah antara muka. Ia bertujuan untuk mewakili nilai malar yang merupakan sebahagian daripada kontrak antara muka. Mengubah suai pembolehubah antara muka dalam pelaksanaan kelas akan melanggar gelagat yang dijangkakan dan berpotensi membawa kepada ralat.
Sebagai ilustrasi, jika IShape mempunyai MAX_VERTICES pembolehubah, menetapkan nilainya dalam pelaksanaan kelas akan memecahkan andaian maksimum tetap bilangan bucu untuk semua bentuk. Muktamad menghalang ketidakkonsistenan tersebut.
Sumber Kebenaran
Rasional untuk pembolehubah antara muka statik dan muktamad dijelaskan lebih lanjut dalam Soalan Lazim reka bentuk antara muka Java oleh Philip Shaw. Beliau menyatakan bahawa pembolehubah antara muka adalah statik untuk menampung hakikat bahawa antara muka tidak boleh digunakan secara langsung. Oleh itu, nilai mereka mesti ditetapkan dalam konteks statik. Pengubah suai terakhir memastikan bahawa nilai ini kekal tidak berubah, memelihara integriti kontrak antara muka.
Atas ialah kandungan terperinci Mengapakah Pembolehubah Antara Muka Java Kedua-dua Statik dan Akhir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!