Rumah >Java >javaTutorial >Mengapa Kaedah Statik Tidak Dibenarkan dalam Antara Muka Pra-Java 8, dan Mengapa Ia Tidak Boleh Ditindih?
Antaramuka dalam Java, seperti yang ditakrifkan dalam versi terdahulu, tidak membenarkan kemasukan kaedah statik. Ini telah berubah sejak itu dalam Java 8, di mana kaedah statik kini dibenarkan. Walau bagaimanapun, satu persoalan kekal: mengapakah kaedah statik tidak dibenarkan dalam antara muka pada mulanya, dan mengapa kaedah statik tidak boleh ditindih?
Tiada sebab teknikal yang besar menghalang kaedah statik dalam antara muka dalam versi Java yang lebih awal. Ia hanyalah keputusan reka bentuk oleh pencipta bahasa. Keputusan ini kemudiannya disemak semula, membawa kepada pengenalan kaedah antara muka statik dalam Java 8.
Sebab mengapa kaedah statik tidak boleh ditindih ialah berakar umbi dalam mekanik cara panggilan kaedah diselesaikan. Kaedah statik diselesaikan pada masa penyusunan, kerana ia dikaitkan dengan kelas tertentu. Sebaliknya, kaedah contoh dihantar secara dinamik berdasarkan jenis objek, yang hanya diketahui pada masa jalan.
Dalam kes kaedah statik, memandangkan kelas diketahui pada masa penyusunan, tidak ada keperluan untuk penghantaran dinamik . Oleh itu, konsep overriding tidak digunakan untuk kaedah statik.
Atas ialah kandungan terperinci Mengapa Kaedah Statik Tidak Dibenarkan dalam Antara Muka Pra-Java 8, dan Mengapa Ia Tidak Boleh Ditindih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!