Rumah >Java >javaTutorial >Mengapa Anda Tidak Boleh Mengatasi Kaedah Statik dalam Antara Muka Java?
Memikirkan Semula Kaedah Antara Muka Statik dalam Java
Secara tradisinya, mentakrifkan kaedah statik dalam antara muka Java adalah dilarang. Walau bagaimanapun, Java 8 mengalih keluar sekatan ini, membenarkan antara muka memiliki kedua-dua kaedah contoh statik dan konkrit. Artikel ini menyelidiki sebab teknikal di sebalik larangan sebelum ini dan menjelaskan rasional untuk elaun semasa.
Kaedah Statik dalam Antara Muka
Pada mulanya, kemasukan kaedah statik dalam antara muka tidak dianggap sebagai perubahan bahasa keutamaan tinggi. Cadangan seterusnya untuk menambahnya dalam Java 7 telah ditinggalkan kerana kerumitan yang tidak dijangka. Walau bagaimanapun, dengan kemunculan sokongan ekspresi lambda Java 8, kaedah antara muka statik telah diperkenalkan bersama-sama dengan kaedah contoh boleh timpa.
Mengatasi Kaedah Statik
Walaupun antara muka boleh kini mempunyai kaedah statik, ia tidak boleh ditindih. Ini kerana:
Antara Muka Pembina
Walaupun bahasa Java melarang penguatkuasaan kaedah seperti pembina dalam antara muka, adalah mungkin untuk mencapai fungsi yang sama menggunakan kelas konkrit. Dengan memerlukan penamaan eksplisit jenis konkrit semasa mencipta kejadian baharu, pengkompil boleh memastikan bahawa kelas mematuhi keperluan yang diingini.
Kesimpulan
Kaedah statik dalam antara muka Java menawarkan mekanisme yang mudah untuk menentukan fungsi dan utiliti peringkat kelas. Walau bagaimanapun, disebabkan sifat resolusi kaedah statik, kaedah statik mengatasi dalam subkelas tidak disokong. Penguatkuasaan kaedah seperti pembina dalam antara muka, walaupun menggoda, bukanlah corak reka bentuk yang sesuai untuk memastikan konsistensi merentas pelaksanaan.
Atas ialah kandungan terperinci Mengapa Anda Tidak Boleh Mengatasi Kaedah Statik dalam Antara Muka Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!