Rumah  >  Artikel  >  Java  >  Apakah perbezaan antara antara muka java dan kelas

Apakah perbezaan antara antara muka java dan kelas

DDD
DDDasal
2023-12-22 16:13:251237semak imbas

Perbezaan ialah: 1. Kelas mentakrifkan set atribut dan kaedah, dan antara muka hanya mengandungi kaedah abstrak; 2. Kelas ialah subkelas dalam perhubungan warisan, dan antara muka ialah kelas induk dalam perhubungan warisan; 3. Kelas boleh dijadikan instantiated, Antara muka tidak boleh instantiated 4. Kelas digunakan untuk menentukan objek tertentu, dan antara muka digunakan untuk menentukan set tingkah laku 5. Antara muka boleh mengandungi kaedah lalai dan kaedah statik, dan kelas tidak boleh statik kaedah atau kaedah lalai; menyediakan enkapsulasi.

Apakah perbezaan antara antara muka java dan kelas

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Perbezaan antara antara muka Java dan kelas

Definisi:

Kelas: Kelas ialah jenis data dalam Java yang mentakrifkan set sifat (pembolehubah ahli) dan kaedah (fungsi ahli). Kelas ialah pelan tindakan atau templat untuk objek, digunakan untuk mencipta objek dengan sifat dan kaedah yang sama.

Antaramuka: Antara muka ialah kelas abstrak sepenuhnya yang hanya mengandungi kaedah abstrak dan tiada pelaksanaan konkrit. Antara muka boleh mengandungi pemalar, kaedah abstrak, kaedah lalai, kaedah statik, dsb.

Warisan:

Kelas: Kelas ialah subkelas dalam perhubungan warisan. Ia boleh mewarisi atribut dan kaedah kelas induk.

Antara muka: Antara muka ialah kelas induk dalam perhubungan warisan, yang boleh dilaksanakan oleh kelas lain. Kelas boleh melaksanakan berbilang antara muka.

Pelaksanaan:

Kelas: Kelas boleh dijadikan instantiated untuk mencipta objek.

Antaramuka: Antara muka tidak boleh dibuat seketika.

Tujuan:

Kelas: Kelas digunakan untuk menentukan objek konkrit dengan sifat dan tingkah laku tertentu.

Antaramuka: Antara muka digunakan untuk mentakrifkan satu set tingkah laku yang boleh dilaksanakan oleh mana-mana kelas. Ini menjadikan antara muka sangat berguna dari segi polimorfisme dan penggunaan semula kod.

Kaedah lalai dan kaedah statik:

Antaramuka: Antara muka boleh mengandungi kaedah lalai dan kaedah statik. Kaedah lalai ialah kaedah abstrak yang pelaksanaan lalai telah disediakan, manakala kaedah statik ialah kaedah yang dimiliki oleh antara muka dan bukannya kelas yang melaksanakannya.

Kelas: Kelas tidak boleh mempunyai kaedah statik atau lalai.

Pengubah akses lalai:

Kelas: Ahli (sifat dan kaedah) kelas adalah peribadi peringkat pakej secara lalai (iaitu hanya kelas lain dalam pakej yang sama boleh mengaksesnya).

Antaramuka: Ahli antara muka adalah awam secara lalai, tidak kira sama ada mereka berada dalam pakej yang sama.

Pembina subkelas:

Kelas: Pembina subkelas mesti secara eksplisit memanggil pembina kelas induknya (menggunakan super()).

Antaramuka: Kelas yang melaksanakan antara muka tidak perlu memanggil pembina antara muka secara eksplisit.

Pengubah suai dan enkapsulasi akses:

Kelas: Kelas menyediakan enkapsulasi dengan menetapkan ahli data kepada peribadi dan menggunakan kaedah pengambil dan penetap untuk mengakses dan mengubah suai data. Ini membantu menyembunyikan butiran pelaksanaan dan memastikan integriti data.

Antaramuka: Antara muka tidak menyediakan enkapsulasi, dan semua ahli adalah awam. Ini memerlukan kelas yang melaksanakan antara muka mesti menyediakan pelaksanaan lengkap tanpa menyembunyikan sebarang butiran.

Kelas ialah entiti yang konkrit dan berstatus; Kelas boleh mewarisi kelas lain; antara muka boleh dilaksanakan oleh kelas lain. Kelas boleh mempunyai pembina; antara muka tidak mempunyai pembina.

Atas ialah kandungan terperinci Apakah perbezaan antara antara muka java dan kelas. 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
Artikel sebelumnya:Apakah prinsip refleksi javaArtikel seterusnya:Apakah prinsip refleksi java