Java9 私有接口方法
1 Java9 私有接口方法的介绍
在Java 9中,我们可以在接口内创建私有方法。接口允许我们声明私有方法,这些方法有助于在非抽象方法之间共享通用代码。
在Java 9之前,在接口内创建私有方法会导致编译时错误。以下示例使用Java 8编译器进行编译,并引发编译时错误。
2 Java9 私有接口方法:Java9以前
/**
* 一点教程网: http://www.yiidian.com
*/
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();
}
}
输出结果为:
PrivateInterface.java:6: error: modifier private not allowed here
3 Java9 私有接口方法:Java9以后
现在,让我们使用Java 9执行以下代码。看到输出,它可以正常执行。
/**
* 一点教程网: http://www.yiidian.com
*/
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
4 Java9 私有接口方法的案例
这样,我们也可以在接口内部创建私有静态方法。请参见以下示例。
/**
* 一点教程网: http://www.yiidian.com
*/
interface Sayable{
default void say() {
saySomething(); // Calling private method
sayPolitely(); // 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 method
I'm private static method
热门文章
优秀文章