Apa itu Antarmuka di Java dengan Contoh

Apa itu Interface di Java?

Sebuah Antarmuka di Jawa pemrograman didefinisikan sebagai tipe abstrak yang digunakan untuk menentukan perilaku kelas. Antarmuka Java berisi konstanta statis dan metode abstrak. Sebuah kelas dapat mengimplementasikan banyak antarmuka. Di Java, antarmuka dideklarasikan menggunakan kata kunci antarmuka. Semua metode di antarmuka secara implisit bersifat publik dan abstrak.

Sintaks untuk Mendeklarasikan Antarmuka

interface {//methods}

Untuk menggunakan antarmuka di kelas Anda, tambahkan kata kunci "implement" setelah nama kelas Anda diikuti dengan nama antarmuka.

Contoh untuk Menerapkan Antarmuka

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Klik di sini jika video tidak dapat diakses

Mengapa diperlukan Antarmuka?

Untuk memahami konsep Java Interface dengan lebih baik, mari kita lihat contoh. Kelas "Media Player" memiliki dua subclass: pemutar CD dan pemutar DVD. Masing-masing memiliki metode penerapan yang unik untuk memutar musik.

Kelas lain "Combo drive" mewarisi CD dan DVD (lihat gambar di bawah). Metode bermain mana yang harus diwarisi? Ini dapat menyebabkan masalah desain yang serius. Dan karenanya, Java tidak mengizinkan pewarisan ganda.

Sekarang mari kita ambil contoh Anjing lainnya.

Misalkan Anda memiliki persyaratan di mana kelas "anjing" mewarisi kelas "hewan" dan "Hewan Peliharaan" (lihat gambar di bawah). Tetapi Anda tidak dapat memperluas dua kelas di Java. Jadi apa yang akan Anda lakukan? Solusinya adalah Interface.

Buku aturan untuk antarmuka mengatakan,

  • Antarmuka adalah 100% kelas abstrak dan hanya memiliki metode abstrak.
  • Kelas dapat mengimplementasikan sejumlah antarmuka.

Class Dog dapat diperluas ke kelas "Hewan" dan mengimplementasikan antarmuka sebagai "Hewan Peliharaan".

Contoh Antarmuka Java:

Langkah 1) Salin kode berikut ke editor.

antarmuka Pet {uji kekosongan publik ();}class Dog mengimplementasikan Pet {uji kekosongan publik () {System.out.println ("Metode Antarmuka Diimplementasikan");}public static void main (String args []) {Hewan peliharaan p = Anjing baru ();p.test ();}}

Langkah 2) Simpan, Kompilasi & Jalankan kode. Amati Outputnya.

Perbedaan antara Kelas dan Antarmuka

Kelas Antarmuka
Di kelas, Anda dapat membuat instance variabel dan membuat objek. Dalam sebuah antarmuka, Anda tidak dapat membuat instance variabel dan membuat objek.
Kelas dapat berisi metode konkret (dengan implementasi) Antarmuka tidak dapat berisi metode konkret (dengan implementasi)

Penentu akses yang digunakan dengan kelas bersifat pribadi, dilindungi, dan publik.

Dalam Antarmuka hanya satu penentu yang digunakan- Publik.

Kapan menggunakan Interface dan Kelas Abstrak?

  • Gunakan kelas abstrak ketika templat perlu ditentukan untuk sekelompok subkelas
  • Gunakan antarmuka saat peran perlu ditentukan untuk kelas lain, terlepas dari pohon pewarisan kelas ini

Harus tahu fakta tentang Interface

  • Kelas Java dapat mengimplementasikan beberapa Antarmuka Java. Kelas harus mengimplementasikan semua metode yang dideklarasikan di antarmuka.
  • Kelas harus mengganti semua metode abstrak yang dideklarasikan di antarmuka
  • Antarmuka memungkinkan pengiriman pesan ke suatu objek tanpa memperhatikan kelas mana yang dimilikinya.
  • Kelas perlu menyediakan fungsionalitas untuk metode yang dideklarasikan di antarmuka.
  • Semua metode dalam sebuah antarmuka secara implisit bersifat publik dan abstrak
  • Antarmuka tidak dapat dibuat instance-nya
  • Referensi antarmuka dapat menunjuk ke objek kelas implementasinya
  • Antarmuka dapat diperluas dari satu atau banyak antarmuka. Kelas hanya dapat memperluas satu kelas tetapi mengimplementasikan sejumlah antarmuka
  • Antarmuka tidak dapat mengimplementasikan Antarmuka lain. Itu harus memperluas antarmuka lain jika diperlukan.
  • Antarmuka yang dideklarasikan di dalam antarmuka lain disebut antarmuka bersarang
  • Pada saat deklarasi, variabel antarmuka harus diinisialisasi. Jika tidak, kompilator akan menampilkan kesalahan.
  • Kelas tidak dapat mengimplementasikan dua antarmuka di java yang memiliki metode dengan nama yang sama tetapi tipe kembalian yang berbeda.

Ringkasan :

  • Kelas yang mengimplementasikan antarmuka perlu menyediakan fungsionalitas untuk metode yang dideklarasikan di antarmuka
  • Semua metode dalam sebuah antarmuka secara implisit bersifat publik dan abstrak
  • Antarmuka tidak dapat dibuat instance-nya
  • Referensi antarmuka dapat menunjuk ke objek kelas implementasinya
  • Antarmuka dapat diperluas dari satu atau banyak antarmuka. Sebuah kelas hanya dapat memperluas satu kelas tetapi mengimplementasikan sejumlah antarmuka

Artikel yang menarik...