Apakah antarmuka mewarisi dari Object
kelas di Jawa?
Tidak, mereka tidak. Dan tidak ada antarmuka "root" yang umum yang secara implisit diwarisi oleh semua antarmuka (seperti dalam kasus dengan kelas). (*)
Jika tidak maka bagaimana kita dapat memanggil metode kelas objek pada contoh antarmuka
Antarmuka secara implisit menyatakan satu metode untuk setiap metode publik di Object
. Jadi equals
metode ini secara implisit dinyatakan sebagai anggota dalam suatu antarmuka (kecuali jika sudah mewarisi dari superinterface).
Ini dijelaskan secara rinci dalam Spesifikasi Bahasa Jawa, § 9.2 Anggota Antarmuka .
9.2 Anggota Antarmuka
[...]
- Jika sebuah antarmuka tidak memiliki superinterfaces langsung, maka antarmuka secara implisit menyatakan metode anggota abstrak publik m dengan tanda tangan s , tipe kembali r , dan melempar klausa t yang sesuai dengan setiap metode instance publik m dengan tanda tangan s , tipe kembali r , dan melempar klausa t dideklarasikan dalam
Object
, kecuali metode dengan tanda tangan yang sama, tipe pengembalian yang sama, dan klausa lemparan yang kompatibel secara eksplisit dinyatakan oleh antarmuka.
[...]
Posting ini telah ditulis ulang sebagai artikel di sini .
(*) Perhatikan bahwa gagasan menjadi subtipe tidak sama dengan warisan dari : Antarmuka tanpa antarmuka super memang subtipe dari Object
( § 4.10.2. Subtipe di antara Kelas dan Jenis Antarmuka ) meskipun mereka tidak mewarisi dari Object
.