Rumah >Java >javaTutorial >Adakah Antara Muka Java Mewarisi daripada Kelas Objek?

Adakah Antara Muka Java Mewarisi daripada Kelas Objek?

DDD
DDDasal
2024-10-29 11:08:30656semak imbas

 Do Java Interfaces Inherit from the Object Class?

Adakah Antara Muka Mewarisi daripada Kelas Objek dalam Java?

Di Java, antara muka bertindak sebagai pelan tindakan untuk mengisytiharkan tandatangan kaedah dan menyediakan pelaksanaan abstrak. Salah tanggapan biasa ialah sama ada antara muka mewarisi daripada kelas Objek seperti kelas standard.

Tiada Warisan daripada Kelas Objek

Bertentangan dengan kepercayaan popular, antara muka tidak diwarisi secara langsung daripada kelas Objek. Ini bermakna mereka tidak mempunyai akses kepada kaedah seperti equals(), hashCode(), toString(), atau wait() secara lalai.

Memanggil Kaedah Kelas Objek pada Antara Muka

Walaupun tidak mewarisi daripada Object, antara muka masih boleh memanggil kaedah daripada kelas Object. Ini kerana antara muka secara tersirat mengisytiharkan kaedah abstrak awam yang sepadan dengan semua kaedah contoh awam dalam Object, melainkan mereka sudah mewarisi kaedah ini daripada superinterface.

Sebagai contoh, pertimbangkan kod berikut:

<code class="java">interface Employee {
}

public class Test {
    public static void main(String[] args) {
        Employee e = null;
        e.equals(null);
    }
}</code>

Dalam kod ini, antara muka Pekerja tidak mengisytiharkan kaedah equals() secara eksplisit. Walau bagaimanapun, ungkapan e.equals(null) berjaya dikompilasi kerana kaedah equals() diisytiharkan secara tersirat dalam Pekerja (dan semua antara muka lain) sebagai kaedah abstrak awam.

Sebab bagi Pengisytiharan Antara Muka Tersirat Kaedah Objek

Pengisytiharan tersirat kaedah Objek dalam antara muka membolehkan antara muka berinteraksi dengan lancar dengan ekosistem Java yang lebih luas. Ia membolehkan antara muka memanfaatkan kaedah perpustakaan standard untuk perbandingan objek, pencincangan, perwakilan rentetan dan penyegerakan tanpa mentakrifkan kaedah ini secara eksplisit.

Atas ialah kandungan terperinci Adakah Antara Muka Java Mewarisi daripada Kelas Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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