Latest web development tutorials

Java metode 8 standar

Java 8 fitur baru Java 8 fitur baru


Java 8 metode antarmuka default yang baru.

Sederhananya, metode default adalah antarmuka dapat menerapkan metode dan tidak memerlukan implementasi kelas untuk menerapkan metode tersebut.

Kami hanya di depan nama metode untuk menambahkan kata kunci standar untuk menerapkan metode default.

Mengapa harus fitur ini?

Pertama, sebelum antarmuka adalah pedang bermata dua, untuk kepentingan abstrak bukan untuk cacat pemrograman tertentu itu adalah bahwa ketika Anda perlu memodifikasi antarmuka, kebutuhan untuk memodifikasi seluruh kelas yang mengimplementasikan antarmuka, java koleksi saat ini kerangka 8 sebelum ada metode foreach, biasanya berpikir dari solusi di JDK menambahkan metode baru dan implementasi untuk antarmuka yang relevan. Namun, versi tersebut telah dirilis, tidak pada saat yang sama menambahkan metode baru untuk antarmuka tidak mempengaruhi implementasi yang ada. Oleh karena itu, pengenalan metode default. Tujuan mereka adalah untuk memecahkan modifikasi yang ada dan implementasi antarmuka tidak kompatibel dengan masalah.

tatabahasa

Sintaks metode standar adalah sebagai berikut:

public interface vehicle {
   default void print(){
      System.out.println("我是一辆车!");
   }
}

metode standar ganda

Antarmuka memiliki metode default, pertimbangkan kasus ini, kelas mengimplementasikan beberapa interface, dan interface ini memiliki metode standar yang sama, contoh-contoh berikut menggambarkan solusi untuk situasi ini:

public interface vehicle {
   default void print(){
      System.out.println("我是一辆车!");
   }
}

public interface fourWheeler {
   default void print(){
      System.out.println("我是一辆四轮车!");
   }
}

Solusi pertama adalah untuk menciptakan metode default Anda sendiri untuk mengganti metode default menulis ulang antarmuka:

public class car implements vehicle, fourWheeler {
   default void print(){
      System.out.println("我是一辆四轮汽车!");
   }
}

Solusi kedua bisa menggunakan super untuk memanggil antarmuka metode standar yang ditentukan:

public class car implements vehicle, fourWheeler {
   default void print(){
      vehicle.super.print();
   }
}

metode standar statis

Java 8 Fitur lainnya adalah antarmuka dapat menyatakan (dan mungkin menyediakan implementasi) metode statis. Sebagai contoh:

public interface vehicle {
   default void print(){
      System.out.println("我是一辆车!");
   }
	// 静态方法
   static void blowHorn(){
      System.out.println("按喇叭!!!");
   }
}

Metode default Contoh

Kita bisa menggunakan kode berikut untuk mencari tahu tentang metode default, Anda dapat menempatkan file kode Java8Tester.java:

public class Java8Tester {
   public static void main(String args[]){
      Vehicle vehicle = new Car();
      vehicle.print();
   }
}

interface Vehicle {
   default void print(){
      System.out.println("我是一辆车!");
   }
	
   static void blowHorn(){
      System.out.println("按喇叭!!!");
   }
}

interface FourWheeler {
   default void print(){
      System.out.println("我是一辆四轮车!");
   }
}

class Car implements Vehicle, FourWheeler {
   public void print(){
      Vehicle.super.print();
      FourWheeler.super.print();
      Vehicle.blowHorn();
      System.out.println("我是一辆汽车!");
   }
}

Pelaksanaan script di atas, output:

$ javac Java8Tester.java 
$ java Java8Tester
我是一辆车!
我是一辆四轮车!
按喇叭!!!
我是一辆汽车!

Java 8 fitur baru Java 8 fitur baru