Mengenal Interface di Java
Interface artinya tampilan secara bahasa.Kalau di dalam java,Interface merupakan kumpulan method yang hanya berisi method abstrak (method yang hanya ada deklarasi dan struktur methodnya saja tanpa ada detail implementasi dari method tersebut).Di Interface juga tidak ada konstruktor sehingga tidak memungkinkan untuk membuat obyek (instansiasi) dari Interface
Karena tidak punya konstruktor,otomatis variable dari Interface hanya bisa memiliki modifier static dan final . static merupakan suatu modifier untuk membuat class member menjadi properti dari class itu sendiri bukan dari obyek class nya.final merupakan modifier untuk membuat suatu variabel tidak bisa diubah nilainya,suatu method tidak bisa dioverride dan suatu class tidak bisa diextends
Untuk membuat implementasi dari method di dalam Interface, suatu class bisa mengimplementasi Interface tersebut dengan menggunakan keyword implements.Dari class yang implements ke suatu Interface wajib mengimplementasikan semua method yang ada di dalam Interface
Interface sendiri digunakan untuk mengatasi kekurangan java yaitu satu class hanya bisa mewarisi (extends) dari satu superclass saja sebaliknya pada Interface,suatu class bisa implements ke banyak Interface sekaligus
Poin penting Interface :
- Hanya bisa berisi method abstrak
- Tidak memiliki konstruktor sehingga tidak mungkin bisa diinstansiasi
- Class hanya bisa implements saja ke Interface sedangkan extends tidak bisa
- Interface hanya bisa extends ke Interface lain
- Interface mendukung multiple Inheritance (satu class bisa implements lebih dari satu Interface)
- hanya bisa memiliki static dan final variable
- hanya bisa memiliki public method
Note : Mulai java 8 kita bisa memiliki body pada method Interface dengan menuliskan default pada method yang dikehendaki
Mulai java 8 kita bisa memiliki static method di dalam Interface
Perbedaan extends dan implements :
extends itu adalah untuk mewarisi artinya semua variabel dan method dari superclass bisa digunakan oleh subclass walaupun kalau membuat obyeknya dari subclass tersebut supaya nggak bingung kalian bisa lihat contoh di bawah
Lihat kan saya membuat obyeknya dari class waris yang merupakan subclass dari class contoh tapi saya bisa mendapatkan nilai variabel tinggi,nama, dan usia dari class Contoh.Seperti itulah extends
Sementara implements hanya untuk mengimplementasikan method dari Interface otomatis kita tidak mengakses variabel dari Interface tersebut menggunakan obyek dari class yang implements tadi
Hubungan Class dengan Interface :
Gambar ini bisa dengan mudah menggambarkan hubungan class dengan interface
Contoh kode Penggunaan Interface
class cara implements ke Interface selamat otomatis class cara harus mengimplementasikan method pagi(),siang(),dan malam(). Untuk mengujinya,kita bisa melalui main method dengan membuat obyek dari class cara (c) dan memakai semua method dari class cara maka didapatkanlah output
Perbedaan Dengan Kelas Abstrak
Class Abstrak sekilas sama dengan Interface yaitu sama-sama tidak bisa diinstansiasikan dan sama-sama bisa di implementasikan method nya.Namun ternyata ada beberapa perbedaan yaitu sebagai berikut :
Interface
|
Abstrak Class
|
Menggunakan implements
|
Menggunakan extends
|
Hanya bisa memiliki abstract method
|
Bisa memiliki method abstract dan konkrit
|
Interface tidak dapat mengimplementasikan Abstrak Class
|
Abstrak Class dapat mengimplementasikan Interface
|
Mendukung Multiple Inheritance
|
Tidak mendukung Multiple Inheritance
|
Hanya dapat memiliki static final variable
|
Dapat memiliki final non final static dan non static variable
|
Tidak dapat memiliki constructor dan main method
|
Dapat memiliki constructor dan main method
|
Mungkin itu saja postingannya untuk interface semoga bisa bermanfaat amiin...
Post a Comment for "Mengenal Interface di Java"
Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)