为什么 Java 9 中的接口需要私有方法?
javaobject oriented programmingprogramming
从 Java 8 版本开始,接口支持默认方法。有时,这些默认方法可能包含在多个方法中通用的代码。在这些情况下,我们可以编写另一个默认方法并使代码可重用。当 通用代码是机密的时,不建议将它们保留在默认方法中,因为实现该接口的所有类都可以访问所有默认方法。
从 Java 9版本开始,接口可以具有 私有方法。这些方法仅在类/接口内部可见,因此建议对机密代码使用私有方法。这就是在接口中添加私有方法的原因。
语法
private void methodName() { // 一些语句代码 }
示例
interface Operation { default void addition() { System.out.println("default method addition"); } default void multiply() { division(); System.out.println("default method multiply"); } private void division() { // private method System.out.println("private method division"); } } class PrivateMethodTest implements Operation { public static void main(String args[]) { PrivateMethodTest test = new PrivateMethodTest(); test.multiply(); } }
输出
private method division default method multiply