Perbezaan Antara Kelas Abstrak dan Antara Muka di Jawa

Abstrak Kelas vs Antara Muka di Jawa

Untuk memahami perbezaan antara kelas abstrak dan antara muka di Jawa, penting sekali, pertama sekali, memahami masing-masing secara bebas. Kelas abstrak di Jawa digunakan dalam deklarasi subkelas dengan satu set ciri umum. Penggunaan umum kelas abstrak adalah kelas super kelas lain yang, pada dasarnya, membolehkannya untuk melanjutkan kelas abstrak. Kata kunci abstrak digunakan dalam pengisytiharan kelas abstrak. Sama seperti mana-mana kelas lain, kelas abstrak mempunyai bidang yang menerangkan kaedah dan ciri yang boleh dilakukan oleh kelas. Dengan perisytiharan semata-mata kelas abstrak, kelas tidak boleh dimulakan

Antara muka Java boleh disamakan dengan protokol. Ia mewakili tingkah laku yang dipratetap dan dipersetujui yang membolehkan fasilitasi interaksi objek tidak berkaitan. Bergantung pada pengguna, antara muka memegang kunci kepada pelbagai tindakan yang sedang dilaksanakan. Oleh itu, antara muka berfungsi sebagai penghubung antara pengeluar dan pengguna. Antara muka di Jawa adalah, oleh itu, sekumpulan kaedah yang mengandungi badan kosong yang mungkin mempunyai pernyataan yang tetap. Dalam mendedahkan kelas kepada antara muka Java, ini bermakna bahawa kelakuan yang diharapkan daripada kelas adalah pelaksanaan semua kaedah antara muka.


Perbezaan

Pertama, kelas abstrak membolehkan medan yang tidak statik atau muktamad berbanding dengan medan statik dan akhir yang digunakan dalam antara muka. Antara muka tidak boleh mempunyai sebarang kod pelaksanaan yang digunakan di dalamnya, dan mungkin terdapat kod pelaksanaan yang digunakan dalam kelas abstrak. Kod Pelaksanaan yang dilancarkan dalam kelas abstrak boleh mempunyai beberapa atau semua kaedah yang dilaksanakan. Secara lalai, semua kaedah antara muka adalah "abstrak. "

Kebolehlihatan juga mungkin untuk kaedah atau ahli kelas abstrak yang boleh berbeza-beza seperti orang awam, dilindungi, peribadi atau tidak. Penglihatan antara muka, sebaliknya, hanya boleh dipratetap kepada satu mod penglihatan yang "awam. '"

Kelas abstrak secara automatik akan mewarisi kelas objek. Ini, pada dasarnya, bermakna kaedah seperti klon () dan sama () dimasukkan. Dalam antara muka, tidak ada warisan kelas objek yang mungkin. Berikutan itu, kelas abstrak mempunyai keupayaan untuk mempunyai pembina, tetapi antara muka tidak boleh mempunyai satu.

Antara muka di Java juga mempunyai fungsi yang sangat penting dengan pelaksanaan pelbagai warisan kerana kelas hanya boleh mempunyai satu kelas super. Walaupun hanya satu kelas super yang boleh hadir, ia boleh dilaksanakan dalam apa jua bilangan antara muka. Tidak mungkin mempunyai banyak warisan dalam kelas abstrak.

Dalam prestasi, antara muka cenderung perlahan dalam pelaksanaan berbanding dengan kelas abstrak terutama disebabkan oleh arah tambahan mencari kaedah yang sepadan dalam kelas. Perbezaannya, bagaimanapun, telah menjadi lebih perlahan kerana mesin maya Java moden yang terus ditingkatkan.

Menambah kaedah dalam antara muka memerlukan anda mengesan semua kelas pelaksana yang melaksanakan antara muka tertentu. Sebagai alternatif, anda boleh memperluaskan antara muka untuk membolehkan ia mempunyai kaedah tambahan. Jika anda menghadapi kelas abstrak, semua yang diperlukan adalah untuk menambah pelaksanaan lalai kaedah dan kod terus berfungsi. Oleh kerana terdapat perbezaan antara kelas abstrak dan antara muka, penting untuk diperhatikan bahawa mereka bukan pesaing, tetapi perbezaan yang disebutkan di sini berfungsi untuk saling melengkapi.

Ringkasan

  1. Abstrak kelas abstrak tidak statik atau muktamad berbanding dengan antara muka yang mempunyai jadual statik dan akhir.

  2. Tiada kod pelaksanaan boleh digunakan dalam antara muka semasa ia boleh digunakan dalam kelas abstrak.

  3. Penglihatan antara muka hanya boleh menjadi awam sementara penglihatan kelas abstrak boleh berbeza-beza.

  4. Kelas abstrak secara automatik akan mewarisi kelas objek, tetapi tidak mungkin di antara muka.

  5. Kelas abstrak lebih cepat daripada antara muka dalam pelaksanaan.