在Java 9中, 我们可以在接口内创建私有方法。接口允许我们声明私有方法, 这些方法有助于在非抽象方法之间共享通用代码。
在Java 9之前, 在接口内创建私有方法会导致编译时错误。以下示例使用Java 8编译器进行编译, 并引发编译时错误。
Java 9专用接口方法示例
interface Sayable{ default void say() {saySomething();
} // Private method inside interface private void saySomething() {System.out.println("Hello... I'm private method");
}}public class PrivateInterface implements Sayable { public static void main(String[] args) {Sayable s = new PrivateInterface();
s.say();
}}
【Java 9接口private方法】输出:
PrivateInterface.java:6: error: modifier private not allowed here
注意:要实现私有接口方法, 请仅使用Java 9或更高版本来编译源代码。现在, 让我们使用Java 9执行以下代码。看到输出, 它可以正常执行。
Java 9专用接口方法示例
interface Sayable{ default void say() {saySomething();
} // Private method inside interface private void saySomething() {System.out.println("Hello... I'm private method");
}}public class PrivateInterface implements Sayable { public static void main(String[] args) {Sayable s = new PrivateInterface();
s.say();
}}
输出:
Hello... I'm private method
这样, 我们也可以在接口内创建私有静态方法。请参见以下示例。
Java 9私有静态方法示例
interface Sayable{ default void say() {saySomething();
// Calling private methodsayPolitely();
//Calling private static method } // Private method inside interface private void saySomething() {System.out.println("Hello... I'm private method");
} // Private static method inside interface private static void sayPolitely() {System.out.println("I'm private static method");
}}public class PrivateInterface implements Sayable { public static void main(String[] args) {Sayable s = new PrivateInterface();
s.say();
}}
输出:
Hello... I'm private methodI'm private static method
推荐阅读
- Java注解类型
- Java Base64编码和解码
- Windows 11/10如何修复Snip和Sketch不起作用(解决方法)
- Windows 11如何解决程序没有响应(修复方法教程)
- Windows 11如何修复小部件不工作/加载空白(解决办法)
- 如何修复Windows 11黑屏问题(解决办法教程)
- 如何在Windows 11上禁用OneDrive(方法详细教程)
- WinXP系统如何分卷压缩rar文件?
- WinXP系统麦克风没声音怎样设置?