Mengapa Java Secara Tradisional Tidak Dibenarkan Kaedah Antara Muka Statik
Dalam versi Java sebelum 8, kaedah statik tidak dibenarkan dalam antara muka kerana tiada yang menarik sebab teknikal untuk memperkenalkan mereka. Kemasukan yang dicadangkan dalam Java 7 menghadapi komplikasi yang tidak dijangka yang membawa kepada penyingkirannya.
Rasional untuk Kaedah Statik Tidak Boleh Berubah
Kaedah statik boleh diselesaikan pada masa penyusunan kerana ia memerlukan kelas yang diketahui untuk dipanggil. Penghantaran dinamik, yang digunakan sebagai contoh kaedah, melibatkan penentuan jenis konkrit objek pada masa jalan dan dengan itu tidak boleh digunakan pada kaedah statik.
Mengatasi Kaedah Statik: Konsep yang Tidak Diperlukan
Mengatasi, apabila subkelas melaksanakan kaedah dengan tandatangan yang sama seperti kelas supernya, menjadi tidak relevan untuk kaedah statik. Ini kerana kelas yang mengandungi kaedah yang dikehendaki diketahui pada masa penyusunan. Menentukan kelas secara eksplisit menghapuskan keperluan untuk mengatasi.
Java 8: Era Baharu untuk Antara Muka
Dengan pengenalan Java 8, antara muka kini boleh merangkumi kaedah statik, ciri yang didayakan oleh sokongan ekspresi lambda. Walau bagaimanapun, medan contoh masih tidak dibenarkan dalam antara muka.
Pendekatan Alternatif untuk "Antara Muka Pembina"
Untuk menguatkuasakan kaedah kilang yang konsisten untuk kelas yang melaksanakan IXMLizable, pertimbangkan:
Atas ialah kandungan terperinci Mengapakah Kaedah Statik Pada Mulanya Dilarang dalam Antara Muka Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!