Apa itu Antarmuka di Java:Bagaimana Mengimplementasikan Antarmuka dengan Contoh
Apa itu Antarmuka di Java?
Sebuah Antarmuka di Jawa bahasa pemrograman didefinisikan sebagai tipe abstrak yang digunakan untuk menentukan perilaku kelas. Antarmuka Java berisi konstanta statis dan metode abstrak. Sebuah kelas dapat mengimplementasikan beberapa antarmuka. Di Java, interface dideklarasikan menggunakan kata kunci interface. Semua metode dalam antarmuka secara implisit bersifat publik dan abstrak.
Sekarang, kita akan belajar bagaimana menggunakan antarmuka di Java.
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 untuk Menerapkan Antarmuka
Sekarang mari kita pahami interface di 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 dengan lebih baik, mari kita lihat contoh antarmuka Java. Kelas "Pemutar Media" memiliki dua subkelas:pemutar CD dan pemutar DVD. Masing-masing memiliki implementasi antarmuka unik dalam metode Java untuk memutar musik.
Kelas lain "Combo drive" mewarisi CD dan DVD (lihat gambar di bawah). Metode permainan mana yang harus diwarisinya? Ini dapat menyebabkan masalah desain yang serius. Dan karenanya, Java tidak mengizinkan pewarisan berganda.
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). Tetapi Anda tidak dapat memperluas dua kelas di Jawa. Jadi apa yang akan Anda lakukan? Solusinya adalah Antarmuka.
Buku aturan untuk antarmuka mengatakan,
Antarmuka implementasi Java adalah kelas abstrak 100% dan hanya memiliki metode abstrak.
Kelas dapat mengimplementasikan sejumlah antarmuka.
Anjing Kelas dapat memperluas ke kelas "Hewan" dan mengimplementasikan antarmuka sebagai "Pet".
Contoh Antarmuka Java:
Mari kita pahami program antarmuka di bawah ini di Java:
Langkah 1) Salin kode berikut ke dalam 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 dalam program Java.
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 boleh berisi metode konkret (dengan implementasi)
Penentu akses yang digunakan dengan kelas bersifat pribadi, terlindungi, dan publik.
Dalam Antarmuka hanya satu penentu yang digunakan- Publik.
Kapan menggunakan Antarmuka dan Kelas Abstrak?
Gunakan kelas abstrak saat template perlu didefinisikan untuk sekelompok subkelas
Gunakan antarmuka saat peran perlu ditentukan untuk kelas lain, terlepas dari pohon pewarisan kelas ini
Harus tahu fakta tentang Antarmuka
Sebuah 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 antarmuka secara implisit bersifat publik dan abstrak
Antarmuka tidak dapat dipakai
Referensi antarmuka dapat menunjuk ke objek dari 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 sebagai antarmuka bersarang
Pada saat deklarasi, variabel interface harus diinisialisasi. Jika tidak, kompilator akan membuat kesalahan.
Kelas tidak dapat mengimplementasikan dua antarmuka di java yang memiliki metode dengan nama yang sama tetapi tipe pengembalian yang 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 dipakai
Referensi antarmuka dapat menunjuk ke objek dari kelas implementasinya
Sebuah antarmuka dapat diperluas dari satu atau banyak antarmuka. Sebuah kelas hanya dapat memperluas satu kelas tetapi mengimplementasikan sejumlah antarmuka