java
Java 8 memperkenalkan konsep baru implementasi metode default di antarmuka. Kemampuan ini ditambahkan untuk kompatibilitas mundur sehingga antarmuka lama dapat digunakan untuk memanfaatkan kemampuan ekspresi lambda Java 8.
Misalnya, antarmuka 'Daftar' atau 'Koleksi' tidak memiliki deklarasi metode 'forEach'. Jadi, menambahkan metode seperti itu hanya akan merusak implementasi kerangka kerja koleksi. Java 8 memperkenalkan metode default sehingga antarmuka Daftar/Koleksi dapat memiliki implementasi default metode forEach, dan kelas yang mengimplementasikan antarmuka ini tidak perlu mengimplementasikan hal yang sama.
public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } }
Dengan fungsi default di antarmuka, ada kemungkinan bahwa kelas mengimplementasikan dua antarmuka dengan metode default yang sama. Kode berikut menjelaskan bagaimana ambiguitas ini dapat diselesaikan.
public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } } public interface fourWheeler { default void print() { System.out.println("I am a four wheeler!"); } }
Solusi pertama adalah membuat metode sendiri yang menggantikan implementasi default.
public class car implements vehicle, fourWheeler { public void print() { System.out.println("I am a four wheeler car vehicle!"); } }
Solusi kedua adalah memanggil metode default dari antarmuka yang ditentukan menggunakan super.
public class car implements vehicle, fourWheeler { public void print() { vehicle.super.print(); } }
Antarmuka juga dapat memiliki metode pembantu statis dari Java 8 dan seterusnya.
public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } static void blowHorn() { System.out.println("Blowing horn!!!"); } }
Buat program Java berikut menggunakan editor pilihan Anda, misalnya, C:\> JAVA.
public class Java8Tester { public static void main(String args[]) { Vehicle vehicle = new Car(); vehicle.print(); } } interface Vehicle { default void print() { System.out.println("I am a vehicle!"); } static void blowHorn() { System.out.println("Blowing horn!!!"); } } interface FourWheeler { default void print() { System.out.println("I am a four wheeler!"); } } class Car implements Vehicle, FourWheeler { public void print() { Vehicle.super.print(); FourWheeler.super.print(); Vehicle.blowHorn(); System.out.println("I am a car!"); } }
Kompilasi kelas menggunakan javac kompiler sebagai berikut -
C:\JAVA>javac Java8Tester.java
Sekarang jalankan Java8Tester sebagai berikut -
C:\JAVA>java Java8Tester
Ini harus menghasilkan output berikut -
I am a vehicle! I am a four wheeler! Blowing horn!!! I am a car!
java
Daftar Java Dalam tutorial ini, kita akan belajar tentang antarmuka Daftar di Java dan metodenya. Dalam Java, List interface adalah kumpulan terurut yang memungkinkan kita untuk menyimpan dan mengakses elemen secara berurutan. Ini memperluas Collection antarmuka. Kelas yang Menerapkan Daftar Seja
Apa itu ArrayList di Java? Daftar Array di Jawa adalah struktur data yang dapat diregangkan untuk menampung elemen tambahan di dalam dirinya sendiri dan menyusut kembali ke ukuran yang lebih kecil ketika elemen dihapus. Ini adalah struktur data yang sangat penting yang berguna dalam menangani peril
Apa itu String? Sebuah string dalam istilah literal adalah serangkaian karakter. Hei, apakah Anda mengatakan karakter, bukankah itu tipe data primitif di Jawa. Ya, jadi dalam istilah teknis, Java String dasar pada dasarnya adalah array karakter. Jadi string saya di atas “MAWAR ” dapat direpresenta
Metode Java adalah kumpulan pernyataan yang dikelompokkan bersama untuk melakukan operasi. Saat Anda memanggil System.out.println() metode, misalnya, sistem benar-benar mengeksekusi beberapa pernyataan untuk menampilkan pesan di konsol. Sekarang Anda akan mempelajari cara membuat metode Anda sendir