ตั้งแต่ 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