Rumah > Java > javaTutorial > Mengapakah Kaedah Statik Pada Mulanya Dilarang dalam Antara Muka Java?

Mengapakah Kaedah Statik Pada Mulanya Dilarang dalam Antara Muka Java?

Barbara Streisand
Lepaskan: 2024-12-06 22:09:15
asal
746 orang telah melayarinya

Why Were Static Methods Initially Prohibited in Java Interfaces?

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:

  • Mencipta kelas asas yang berasingan dengan pembina yang diperlukan. Subkelas yang melaksanakan IXMLizable akan mewarisi kaedah kilang.
  • Menggunakan refleksi atau anotasi untuk menyemak kaedah kilang pada masa jalan, menguatkuasakannya sebagai konvensyen pengekodan dan bukannya peraturan bahasa.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan