Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Memahami Antarmuka Java: Definisi, Penggunaan, dan Praktik Terbaik

Sebuah antarmuka adalah tipe referensi di Java. Mirip dengan kelas. Ini adalah kumpulan metode abstrak. Sebuah kelas mengimplementasikan antarmuka, dengan demikian mewarisi metode abstrak dari antarmuka.

Sama dengan metode abstrak, sebuah antarmuka mungkin juga berisi konstanta, metode default, metode statis, dan tipe bersarang. Tubuh metode hanya ada untuk metode default dan statis.

Menulis antarmuka mirip dengan menulis kelas. Namun, sebuah kelas menggambarkan atribut dan perilaku dari sebuah objek. Dan sebuah antarmuka berisi perilaku yang diimplementasikan oleh sebuah kelas.

Jika kelas yang mengimplementasikan antarmuka tidak abstract, semua metode antarmuka perlu didefinisikan dalam kelas.

Sebuah antarmuka mirip dengan kelas dengan cara berikut:

Namun, sebuah antarmuka berbeda dari kelas dengan beberapa cara, termasuk:

Mendeklarasikan Antarmuka

Kata kunci interface digunakan untuk mendeklarasikan antarmuka. Berikut adalah contoh sederhana untuk mendeklarasikan antarmuka:

Contoh

Berikut adalah contoh antarmuka:

 /* File name : NameOfInterface.java */ import java.lang.*; // Any number of import statements public interface NameOfInterface { // Any number of final, static fields // Any number of abstract method declarations\ } 

Antarmuka memiliki properti berikut:

Contoh

 /* File name : Animal.java */ interface Animal { public void eat(); public void travel(); } 

Mengimplementasikan Antarmuka

Saat sebuah kelas mengimplementasikan antarmuka, Anda dapat menganggap kelas tersebut sebagai menandatangani kontrak, setuju untuk melakukan perilaku spesifik dari antarmuka. Jika sebuah kelas tidak melakukan semua perilaku dari antarmuka, kelas harus mendeklarasikan dirinya sebagai abstract.

Sebuah kelas menggunakan kata kunci implements untuk mengimplementasikan antarmuka. Kata kunci implements muncul dalam deklarasi kelas setelah bagian extends dari deklarasi.

Contoh

 /* File name : MammalInt.java */ public class MammalInt implements Animal { public void eat() { System.out.println("Mammal eats"); } public void travel() { System.out.println("Mammal travels"); } public int noOfLegs() { return 0; } public static void main(String args[]) { MammalInt m = new MammalInt(); m.eat(); m.travel(); } } 

Ini akan menghasilkan hasil berikut:

Keluaran

 Mammal eats Mammal travels 

Saat mengganti metode yang didefinisikan dalam antarmuka, ada beberapa aturan yang harus diikuti:

Saat mengimplementasikan antarmuka, ada beberapa aturan:

Memperluas Antarmuka

Sebuah antarmuka dapat memperluas antarmuka lain dengan cara yang sama seperti kelas dapat memperluas kelas lain. Kata kunci extends digunakan untuk memperluas antarmuka, dan kelas anak mewarisi metode dari antarmuka induk.

Antarmuka Sports berikut diperluas oleh antarmuka Hockey dan Football.

Contoh

 // Filename: Sports.java public interface Sports { public void setHomeTeam(String name); public void setVisitingTeam(String name); } // Filename: Football.java public interface Football extends Sports { public void homeTeamScored(int points); public void visitingTeamScored(int points); public void endOfQuarter(int quarter); } // Filename: Hockey.java public interface Hockey extends Sports { public void homeGoalScored(); public void visitingGoalScored(); public void endOfPeriod(int period); public void overtimePeriod(int ot); } 

Antarmuka Hockey memiliki empat metode, tetapi mewarisi dua dari Sports; dengan demikian, kelas yang mengimplementasikan Hockey perlu mengimplementasikan semua enam metode. Demikian pula, kelas yang mengimplementasikan Football perlu mendefinisikan tiga metode dari Football dan dua metode dari Sports.

Memperluas Beberapa Antarmuka

Sebuah kelas Java hanya dapat memperluas satu kelas induk. Warisan ganda tidak diizinkan. Antarmuka bukan kelas, namun, dan sebuah antarmuka dapat memperluas lebih dari satu antarmuka induk.

Kata kunci extends digunakan sekali, dan antarmuka induk dideklarasikan dalam daftar yang dipisahkan oleh koma.

Misalnya, jika antarmuka Hockey memperluas Sports dan Event, akan dideklarasikan sebagai berikut:

Contoh

 public interface Hockey extends Sports, Event 

Antarmuka Penanda (Tagging Interfaces)

Penggunaan paling umum dari memperluas antarmuka terjadi ketika antarmuka induk tidak berisi metode apa pun. Misalnya, antarmuka MouseListener dalam paket java.awt.event memperluas java.util.EventListener, yang didefinisikan sebagai berikut:

Contoh

 package java.util; public interface EventListener {} 

Sebuah antarmuka tanpa metode disebut sebagai antarmuka penanda. Ada dua tujuan desain dasar dari antarmuka penanda:

Membuat induk umum – Sama seperti antarmuka EventListener, yang diperluas oleh puluhan antarmuka lain dalam Java API, Anda dapat menggunakan antarmuka penanda untuk membuat induk umum di antara sekelompok antarmuka. Misalnya, saat sebuah antarmuka memperluas EventListener, JVM tahu bahwa antarmuka khusus ini akan digunakan dalam skenario delegasi peristiwa.

Menambahkan tipe data ke kelas – Situasi ini adalah tempat istilah penanda berasal dari. Sebuah kelas yang mengimplementasikan antarmuka penanda tidak perlu mendefinisikan metode apa pun (karena antarmuka tidak memiliki metode apa pun), tetapi kelas menjadi tipe antarmuka melalui polimorfisme.

java

  1. Memahami Kata Kunci final Java: Variabel, Metode, dan Kelas
  2. Operator instanceof Java: Panduan Lengkap
  3. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  4. Memahami Kelas Bersarang Statis Java: Penggunaan, Perbedaan, dan Contoh
  5. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  6. Pola Singleton Java Dijelaskan: Cara Menerapkan dan Menggunakannya dengan Aman
  7. Menguasai Refleksi Java: Memeriksa Kelas, Metode, dan Field pada Waktu Eksekusi
  8. Menguasai Java ObjectOutputStream: Serialisasi, Metode, dan Contoh Praktis
  9. Menguasai Java Generics – Membangun Kode yang Dapat Digunakan Kembali dan Aman Tipe
  10. Pengoperasian File Java dengan java.io – Pembuatan, Pembacaan, Penulisan & Penghapusan