Apakah Antaramuka di Java dengan Contoh

Isi kandungan:

Anonim

Apakah Antaramuka di Java?

An Interface di Jawa pengaturcaraan ditakrifkan sebagai jenis abstrak digunakan untuk menentukan tingkah laku kelas. Antara muka Java mengandungi pemalar statik dan kaedah abstrak. Kelas boleh melaksanakan pelbagai antara muka. Di Java, antara muka dinyatakan menggunakan kata kunci antara muka. Semua kaedah di antara muka tersirat secara terbuka dan abstrak.

Sintaks untuk Menyatakan Antara Muka

interface {//methods}

Untuk menggunakan antara muka di kelas anda, tambahkan kata kunci "alat" selepas nama kelas anda diikuti dengan nama antara muka.

Contoh untuk Melaksanakan Antaramuka

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Klik di sini jika video tidak dapat diakses

Mengapa Antaramuka diperlukan?

Untuk memahami konsep Java Interface dengan lebih baik, mari lihat contohnya. Kelas "Media Player" mempunyai dua subkelas: pemain CD dan pemain DVD. Masing-masing mempunyai kaedah pelaksanaan yang unik untuk memainkan muzik.

Kelas lain "Combo drive" mewarisi kedua-dua CD dan DVD (lihat gambar di bawah). Kaedah bermain mana yang mesti diwarisi? Ini boleh menyebabkan masalah reka bentuk serius. Oleh itu, Java tidak membenarkan warisan berganda.

Sekarang mari kita ambil contoh Anjing yang lain.

Andaikan anda mempunyai syarat di mana kelas "anjing" mewarisi kelas "binatang" dan "Haiwan peliharaan" (lihat gambar di bawah). Tetapi anda tidak boleh melanjutkan dua kelas di Java. Jadi apa yang anda akan buat? Penyelesaiannya ialah Antaramuka.

Buku peraturan untuk antara muka mengatakan,

  • Antaramuka adalah kelas abstrak 100% dan hanya mempunyai kaedah abstrak.
  • Kelas boleh melaksanakan sebilangan antara muka.

Kelas Anjing dapat meluas ke kelas "Haiwan" dan menerapkan antara muka sebagai "Haiwan Peliharaan".

Contoh Antaramuka Java:

Langkah 1) Salin kod berikut ke penyunting.

antara muka Haiwan Peliharaan {ujian kekosongan awam ();}Anjing kelas melaksanakan Haiwan Peliharaan {ujian kekosongan awam () {System.out.println ("Kaedah Antara Muka Dilaksanakan");}kekosongan statik awam utama (String args []) {Haiwan peliharaan p = Anjing baru ();ujian p. ();}}

Langkah 2) Simpan, Susun & Jalankan kodnya. Perhatikan Hasilnya.

Perbezaan antara Kelas dan Antara Muka

Kelas Antara muka
Di kelas, anda boleh membuat pemboleh ubah dan membuat objek. Dalam antara muka, anda tidak dapat membuat pemboleh ubah dan membuat objek.
Kelas boleh mengandungi kaedah konkrit (dengan pelaksanaan) Antaramuka tidak boleh mengandungi kaedah konkrit (dengan pelaksanaan)

Penentu akses yang digunakan dengan kelas adalah peribadi, dilindungi dan awam.

Di antara muka hanya satu penentu yang digunakan- Umum.

Bilakah menggunakan Kelas Antara Muka dan Abstrak?

  • Gunakan kelas abstrak apabila templat perlu ditentukan untuk sekumpulan subkelas
  • Gunakan antara muka apabila peranan perlu ditentukan untuk kelas lain, tanpa mengira pokok warisan kelas ini

Mesti tahu fakta mengenai Antaramuka

  • Kelas Java dapat melaksanakan beberapa Antaramuka Java. Adalah perlu bahawa kelas mesti melaksanakan semua kaedah yang dinyatakan dalam antara muka.
  • Kelas harus mengatasi semua kaedah abstrak yang dinyatakan dalam antara muka
  • Antara muka membolehkan menghantar mesej ke objek tanpa mengenai kelas mana yang menjadi miliknya.
  • Kelas perlu menyediakan fungsi untuk kaedah yang dinyatakan dalam antara muka.
  • Semua kaedah di antara muka tersirat secara terbuka dan abstrak
  • Antaramuka tidak dapat dibuat
  • Rujukan antara muka dapat menunjukkan objek dari kelas pelaksanaannya
  • Antara muka boleh dilanjutkan dari satu atau banyak antara muka. Kelas hanya boleh meluaskan satu kelas tetapi melaksanakan sebilangan antara muka
  • Antaramuka tidak dapat melaksanakan antara muka yang lain. Ia perlu memperluaskan antara muka lain jika diperlukan.
  • Antaramuka yang dinyatakan dalam antara muka lain disebut sebagai antara muka bersarang
  • Pada masa pengisytiharan, pemboleh ubah antara muka mesti diinisialisasi. Jika tidak, penyusun akan membuang ralat.
  • Kelas tidak dapat melaksanakan dua antara muka dalam java yang mempunyai kaedah dengan nama yang sama tetapi jenis pengembalian yang berbeza.

Ringkasan :

  • Kelas yang melaksanakan antara muka perlu menyediakan fungsi untuk kaedah yang dinyatakan dalam antara muka
  • Semua kaedah di antara muka tersirat secara terbuka dan abstrak
  • Antaramuka tidak dapat dibuat
  • Rujukan antara muka dapat menunjukkan objek dari kelas pelaksanaannya
  • Antara muka boleh dilanjutkan dari satu atau banyak antara muka. Kelas hanya boleh meluaskan satu kelas tetapi melaksanakan sebilangan antara muka