Rumah > Java > javaTutorial > Mengapa Kaedah Statik Tidak Dibenarkan dalam Antara Muka Java Sebelum Java 8?

Mengapa Kaedah Statik Tidak Dibenarkan dalam Antara Muka Java Sebelum Java 8?

DDD
Lepaskan: 2025-01-05 02:24:39
asal
832 orang telah melayarinya

Why Were Static Methods Not Allowed in Java Interfaces Before Java 8?

Mengapa Saya Tidak Boleh Menentukan Kaedah Statik dalam Antara Muka Java?

Dalam Java 8 dan seterusnya, kaedah statik adalah dibenarkan dalam antara muka. Ini tidak berlaku dalam versi sebelumnya, menyebabkan ramai pengaturcara tertanya-tanya mengapa.

Java 8 dan Kaedah Antara Muka Statik

Java 8 memperkenalkan kaedah antara muka statik bersama-sama override -kaedah contoh boleh dengan pelaksanaan lalai. Antara muka kini boleh termasuk kaedah statik, tetapi masih tidak boleh mempunyai medan contoh.

Kaedah Statik dan Mengatasi

Kaedah statik tidak boleh ditindih kerana ia diselesaikan pada masa penyusunan . Ini bermakna pengkompil boleh menentukan kelas dan kaedah yang tepat untuk digunakan tanpa merujuk contoh objek. Kaedah penghantaran dinamik sebagai contoh adalah perlu kerana pengkompil tidak dapat menentukan jenis tepat objek pada masa jalan.

Berbeza dengan kaedah contoh, kaedah statik dikaitkan secara langsung dengan kelas. Ini menghapuskan keperluan untuk penghantaran dinamik, kerana pengkompil sudah mengetahui kelas dan kaedah yang diperlukan. Oleh itu, mengatasi kaedah statik adalah tidak perlu dan tidak praktikal.

Constructor "Antaramuka"

Menguatkuasakan kaedah kilang mandatori untuk pelaksanaan IXMLizable boleh dicapai tanpa menggunakan antara muka . Kod yang menggunakan kaedah kilang boleh menentukan jenis konkrit secara eksplisit, membenarkan pengkompil mengesahkan pematuhan.

Jika pelaksanaan IXMLizable tanpa "pembina" dicipta dan dihantar kepada kod yang mengharapkannya, kod itu masih mengakuinya sebagai IXMLizable yang sah. Ini kerana pembinaan adalah perincian pelaksanaan, bukan sebahagian daripada antara muka. Mana-mana kod yang berinteraksi dengan antara muka sahaja kekal tidak terjejas.

Atas ialah kandungan terperinci Mengapa Kaedah Statik Tidak Dibenarkan dalam Antara Muka Java Sebelum Java 8?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan