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...





Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)
EmoticonEmoticon