Private Methods ใน Interface
Java 9 อนุญาตให้ interface มี private methods นอกจาก static และ default methods ของ Java 8 เป็นการเปลี่ยนแปลงสำคัญที่ช่วย reuse code ภายใน interface เอง
ปัญหา: Code Duplication
ใน interface อาจมี default methods หลายตัวที่ต้องใช้โค้ดร่วมกัน -> นำไปสู่ code duplication
ข้อดีของ Private Methods
- หลีกเลี่ยง Code Duplication - ดึงโค้ดร่วมไปไว้ใน private method
- Ensure Code Re-usability - ใช้ซ้ำได้ภายใน interface
- Improve Code Readability - แยก logic ย่อยออกไป ทำให้ default methods อ่านง่าย
Syntax
interface interfacename {
private void methodName(parameters) {
// statements
}
}
ตัวอย่าง
interface Test {
default void m1() {
common();
}
default void m2() {
common();
}
private void common() {
System.out.println("Tutorialspoint");
}
}
public class PrivateMethodTest implements Test {
public static void main(String args[]) {
Test test = new PrivateMethodTest();
test.m1();
test.m2();
}
}
Output
Tutorialspoint Tutorialspoint
สรุป
Private methods ใน interface ช่วยให้ออกแบบ API สะอาด ลดซ้ำ และรักษา encapsulation ภายใน interface เอง