Antarmuka dalam Java dengan Contoh
Apa itu Antarmuka di Java?
An Antarmuka dalam Java bahasa pemrograman didefinisikan sebagai tipe abstrak yang digunakan untuk menentukan perilaku suatu kelas. A Java antarmuka berisi konstanta statis dan metode abstrak. Sebuah kelas dapat mengimplementasikan banyak antarmuka. Di dalam Java, antarmuka dideklarasikan menggunakan kata kunci antarmuka. Semua metode di antarmuka secara implisit bersifat publik dan abstrak.
Sintaks untuk Mendeklarasikan Antarmuka
Untuk menggunakan antarmuka di kelas Anda, tambahkan kata kunci “implements” setelah nama kelas Anda diikuti dengan nama antarmuka.
interface { //methods }
Contoh Implementasi Antarmuka
Sekarang, mari kita pahami antarmuka Java dengan contoh:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Klik di sini jika video tidak dapat diakses
Mengapa Antarmuka diperlukan?
Untuk memahami penggunaan antarmuka di Java lebih baik, mari kita lihat Java contoh antarmuka. Kelas “Media Player” memiliki dua subkelas: pemutar CD dan pemutar DVD. Masing-masing memiliki implementasi antarmuka yang unik Java metode untuk memutar musik.
Kelas lain “Combo drive” mewarisi CD dan DVD (lihat gambar di bawah). Metode permainan manakah yang harus diwarisinya? Hal ini dapat menyebabkan masalah desain yang serius. Dan karenanya, Java tidak mengizinkan banyak warisan.
Sekarang mari kita ambil contoh lain dari Anjing.
Misalkan Anda memiliki persyaratan di mana kelas “anjing” mewarisi kelas “hewan” dan “Pet” (lihat gambar di bawah). Tapi Anda tidak bisa memperluas dua kelas Java. Jadi apa yang akan kamu lakukan? Solusinya adalah Antarmuka.
Buku aturan untuk antarmuka mengatakan,
- A Java antarmuka implementasi adalah kelas abstrak 100% dan hanya memiliki metode abstrak.
- Kelas dapat mengimplementasikan sejumlah antarmuka.
Kelas Anjing dapat diperluas ke kelas "Hewan" dan mengimplementasikan antarmuka sebagai "Pet".
Java Contoh Antarmuka:
Mari kita pahami program antarmuka di bawah ini Java:
Langkah 1) Salin kode berikut ke editor.
interface Pet{ public void test(); } class Dog implements Pet{ public void test(){ System.out.println("Interface Method Implemented"); } public static void main(String args[]){ Pet p = new Dog(); p.test(); } }
Langkah 2) Simpan, Kompilasi & Jalankan kode. Amati Output dari antarmuka di Java program.
Perbedaan antara Kelas dan 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 boleh berisi metode konkret (dengan implementasi). |
Penentu akses yang digunakan dengan kelas adalah privat, terlindungi, dan publik. | Di Antarmuka hanya satu penentu yang digunakan - Publik. |
Kapan menggunakan Antarmuka dan Kelas Abstrak?
- Gunakan kelas abstrak ketika templat perlu ditentukan untuk sekelompok subkelas
- Gunakan antarmuka ketika peran perlu ditentukan untuk kelas lain, terlepas dari pohon warisan kelas tersebut
Harus mengetahui fakta tentang Antarmuka
- A Java kelas dapat mengimplementasikan banyak hal Java Antarmuka. Kelas harus mengimplementasikan semua metode yang dideklarasikan di antarmuka.
- Kelas harus mengesampingkan 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 antarmuka secara implisit bersifat publik dan abstrak
- Antarmuka tidak dapat dibuat instance-nya
- Referensi antarmuka dapat menunjuk ke objek kelas implementasinya
- Sebuah antarmuka dapat diperluas dari satu atau banyak antarmuka. Kelas hanya dapat memperluas satu kelas tetapi mengimplementasikan sejumlah antarmuka
- Sebuah 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, kompiler akan menampilkan kesalahan.
- Kelas tidak dapat mengimplementasikan dua antarmuka di java yang memiliki metode dengan nama yang sama tetapi tipe kembaliannya berbeda.
Ringkasan:
- Kelas yang mengimplementasikan antarmuka perlu menyediakan fungsionalitas untuk metode yang dideklarasikan dalam antarmuka
- Semua metode dalam antarmuka secara implisit bersifat publik dan abstrak
- Antarmuka tidak dapat dibuat instance-nya
- Referensi antarmuka dapat menunjuk ke objek kelas implementasinya
- Sebuah antarmuka dapat diperluas dari satu atau banyak antarmuka. Sebuah kelas hanya dapat memperluas satu kelas tetapi mengimplementasikan sejumlah antarmuka