Java 8 Tutorial - Belajar Java 8 Default Methods

Tags

Java 8 Tutorial Default Methods - Java 8 memperkenalkan konsep baru implementasi default method pada interface. Kemampuan ini ditambahkan untuk kompatibilitas sehingga interface yang lama dapat digunakan untuk memanfaatkan kemampuan lambda expression di Java 8. Misalnya, interface 'List' atau 'Collection' tidak memiliki deklarasi method 'forEach'. Dengan demikian, menambahkan method seperti itu hanya akan mematahkan implementasi Collection. Java 8 memperkenalkan default method sehingga interface List atau Collection dapat memiliki implementasi default untuk method forEach, dan java class yang mengimplementasikan interface ini tidak perlu menerapkan hal yang sama.

Java 8 Tutorial - Belajar Java 8 Default Methods

Baca Juga : Java 8 Tutorial - Belajar Java 8 Method Referance

Sintak

public interface Hikaru {
   default void print(){
      System.out.println("Saya Hikaru");
   }
}

Multiple Default

Dengan fungsi default dalam interface, ada kemungkinan class menerapkan dua interface dengan default method yang sama. Source code berikut menjelaskan bagaimana ambiguitas (sebuah class yang menerapkan 2 buah interface) ini dapat diatasi.

public interface Hikaru {
   default void print(){
      System.out.println("Saya Hikaru");
   }
}

public interface Pelajar {
   default void print(){
      System.out.println("Saya Seorang Pelajar");
   }
}

Solusi pertama adalah membuat method sendiri yang menggantikan implementasi default.

public class Job implements Hikaru, Pelajar {
   default void print(){
      System.out.println("Saya Hikaru Seorang Pelajar");
   }
}

Solusi kedua adalah memanggil default method dari interface yang ditentukan menggunakan super.

public class Job implements hikaru, pelajar {
   default void print(){
      Hikaru.super.print();
   }
}

Baca Juga : Java 8 Tutorial - Belajar Java 8 Functional Interface


Default Method Static

Mari kita lihat contoh penggunaan default method untuk lebih jelasnya.

public class Java8Tester {
   public static void main(String args[]){
      Hikaru hikaru = new Job();
      hikaru.print();
   }
}

interface Hikaru {
   default void print(){
      System.out.println("Saya Hikaru");
   }
}

interface Pelajar {
   default void print(){
      System.out.println("Saya Seorang Pelajar");
   }
}

class Job implements Hikaru, Pelajar {
   public void print(){
      Hikaru.super.print();
      Pelajar.super.print();
      System.out.println("Saya Memiliki Sebuah Mobil");
   }
}

Sekian tutorial java programming mengenai default method di java 8. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
IHKY-DDAG-WL10-OWHH

This Is The Newest Post


EmoticonEmoticon