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

Java - Antarmuka

Antarmuka adalah tipe referensi di Jawa. Ini mirip dengan kelas. Ini adalah kumpulan metode abstrak. Kelas mengimplementasikan antarmuka, sehingga mewarisi metode abstrak antarmuka.

Seiring dengan metode abstrak, antarmuka juga dapat berisi konstanta, metode default, metode statis, dan tipe bersarang. Badan metode hanya ada untuk metode default dan metode statis.

Menulis antarmuka mirip dengan menulis kelas. Tetapi kelas menggambarkan atribut dan perilaku suatu objek. Dan antarmuka berisi perilaku yang diimplementasikan oleh kelas.

Kecuali jika kelas yang mengimplementasikan antarmuka adalah abstrak, semua metode antarmuka perlu didefinisikan di dalam kelas.

Antarmuka mirip dengan kelas dengan cara berikut −

Namun, antarmuka berbeda dari kelas dalam beberapa hal, termasuk −

Mendeklarasikan Antarmuka

Antarmuka kata kunci 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 kelas mengimplementasikan antarmuka, Anda dapat menganggap kelas sebagai menandatangani kontrak, setuju untuk melakukan perilaku spesifik antarmuka. Jika sebuah kelas tidak melakukan semua perilaku antarmuka, kelas tersebut harus mendeklarasikan dirinya sebagai abstrak.

Sebuah kelas menggunakan implement kata kunci untuk mengimplementasikan antarmuka. Kata kunci implements muncul di deklarasi kelas setelah bagian ekstensi 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

Antarmuka dapat memperluas antarmuka lain dengan cara yang sama seperti kelas dapat memperluas kelas lain. memperluas kata kunci digunakan untuk memperluas antarmuka, dan antarmuka anak mewarisi metode antarmuka induk.

Antarmuka Olahraga berikut diperluas oleh antarmuka Hoki dan Sepak Bola.

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 Hoki memiliki empat metode, tetapi mewarisi dua dari Olahraga; dengan demikian, kelas yang mengimplementasikan Hockey perlu mengimplementasikan keenam metode tersebut. Demikian pula, kelas yang mengimplementasikan Football perlu mendefinisikan tiga metode dari Football dan dua metode dari Sports.

Memperluas Beberapa Antarmuka

Kelas Java hanya dapat memperpanjang satu kelas induk. Warisan berganda tidak diperbolehkan. Namun, antarmuka bukanlah kelas, dan antarmuka dapat memperluas lebih dari satu antarmuka induk.

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

Misalnya, jika antarmuka Hoki memperluas Olahraga dan Acara, itu akan dinyatakan sebagai −

Contoh

public interface Hockey extends Sports, Event

Antarmuka Pemberian Tag

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

Contoh

package java.util;
public interface EventListener
{}

Antarmuka tanpa metode di dalamnya disebut sebagai penandaan antarmuka. Ada dua tujuan desain dasar dari penandaan antarmuka −

Membuat induk yang sama Seperti halnya antarmuka EventListener, yang diperluas oleh lusinan antarmuka lain di Java API, Anda dapat menggunakan antarmuka penandaan untuk membuat induk umum di antara sekelompok antarmuka. Misalnya, ketika antarmuka memperluas EventListener, JVM mengetahui bahwa antarmuka khusus ini akan digunakan dalam skenario delegasi peristiwa.

Menambahkan tipe data ke kelas Situasi ini adalah asal istilah, penandaan. Kelas yang mengimplementasikan antarmuka penandaan tidak perlu mendefinisikan metode apa pun (karena antarmuka tidak memilikinya), tetapi kelas menjadi tipe antarmuka melalui polimorfisme.


java

  1. Kata kunci terakhir Java
  2. Instance Java dari Operator
  3. Antarmuka Jawa
  4. Kelas Statis Bersarang Java
  5. Kelas Anonim Java
  6. Kelas Tunggal Jawa
  7. Refleksi Jawa
  8. Kelas Java ObjectOutputStream
  9. Java Generik
  10. Kelas File Java