Java 9 中在介面中定義的變數/方法有哪些?
從 Java 9 開始,我們可以在介面中新增私有 方法 和私有 靜態 方法 。在介面中使用私有方法的優點在於減少了預設 方法和靜態 方法之間的程式碼重複。例如,如果兩個或多個預設方法需要共享一些程式碼,則可以為這些方法建立私有方法 ,然後從每個預設方法呼叫該私有方法。
在 Java 9 中,在介面中定義了以下變數/方法 。
- 常量
- 抽象方法
- 預設方法
- 靜態方法
- 私有方法
- 私有靜態方法
示例
import java.util.*; import java.util.stream.*; interface InterfaceTest { static void printEvenNumbers() { getDataStream().filter(i -> i%2==0).forEach(System.out::println); } static void printLOddNumbers() { getDataStream().filter(i -> i%2!=0).forEach(System.out::println); } private static Stream<Integer> getDataStream() { // private static method List<Integer> list = Arrays.asList(10, 13, 5, 15, 12, 20, 11, 25, 16); return list.stream(); } } public class InterfacePrivateMethodTest implements InterfaceTest { public static void main(String args[]) { System.out.println("The even numbers: "); InterfaceTest.printEvenNumbers(); System.out.println("The odd numbers: "); InterfaceTest.printLOddNumbers(); } }
輸出
The even numbers: 10 12 20 16 The odd numbers: 13 5 15 11 25
廣告