Latest web development tutorials

8 domyślną metodą Java

Java 8 nowych funkcji Java 8 nowych funkcji


Java 8 nowych metod Interfejsu.

Mówiąc najprościej, domyślna metoda jest interfejs może być realizowany metodą i nie wymaga implementacji klasy wdrożyć swoje metody.

Właśnie przed nazwą metody, aby dodać domyślną słowa kluczowego wdrożyć metodę domyślną.

Dlaczego ta funkcja?

Po pierwsze, przed interfejsem jest miecz obosieczny, z korzyścią dla abstrakcyjny niż dla konkretnego wada programowania jest to, że gdy trzeba zmodyfikować interfejs, trzeba zmodyfikować całą klasę, która implementuje interfejs, obecny kolekcje Java ramy 8 przed żadnym sposobem foreach, zazwyczaj myślimy o rozwiązaniach w JDK dodawać nowe metody i wdrożenie do odpowiedniego interfejsu. Jednakże, wersja została wydana, to jest w tym samym czasie dodawania nowych metod interfejsu nie wpływa na istniejących rozwiązań. W związku z tym wprowadzenie sposobu domyślnego. Ich celem jest rozwiązanie istniejących modyfikacji i implementacja interfejsu nie jest zgodny z tym problemem.

gramatyka

Składnia domyślna metoda jest następująca:

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

Stwardnienie domyślna metoda

Interfejs ma metodę domyślną, należy rozważyć przypadek, klasa implementuje wiele interfejsów, a te interfejsy mają tę samą metodę domyślnie Poniższe przykłady ilustrują obejście tej sytuacji:

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

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

Pierwszym rozwiązaniem jest utworzenie własnego domyślnego sposobu aby przesłonić metodę domyślną przepisanie interfejsu:

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

Drugim rozwiązaniem może używać bardzo wywołać określony sposób domyślny interfejs:

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

Statyczna metoda domyślna

Java 8 Inną cechą jest interfejs może zadeklarować (i może zapewnić implementację) metody statycznej. Na przykład:

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

Domyślna metoda przykładu

Możemy użyć poniższy kod, żeby dowiedzieć się o metody domyślnej, można umieścić plik kodu 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("我是一辆汽车!");
   }
}

Realizacja powyższego scenariusza, wyjście jest:

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

Java 8 nowych funkcji Java 8 nowych funkcji