小编She*_*nam的帖子

java 8中的默认方法

问题2:以下界面有什么问题?

public interface SomethingIsWrong {
    void aMethod(int aValue) {
        System.out.println("Hi Mom");
    }
}
Run Code Online (Sandbox Code Playgroud)

答案2:它有一个方法实现.只有默认和静态方法有实现(我认为这是错误的,因为界面不能有身体的方法,因为默认它的方法是抽象的).

问题3:修复问题2中的界面.

答案3:

public interface SomethingIsWrong {
    void aMethod(int aValue);
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以将aMethod定义为默认方法:

public interface SomethingIsWrong {
    default void aMethod(int aValue) {
        System.out.println("Hi Mom");
    }
}
Run Code Online (Sandbox Code Playgroud)

我在docs.oracle.com找到了这个,我想知道这些是ORACLE提供的正确答案吗?在我看来.

1.在答案2中,写道只有默认和静态方法有实现?

2.在回答3的替代方案中,它给出了aMethod可以定义为默认方法但是接口不能有其中的方法,因为默认接口中的方法是抽象的,我们只能在它的子类中实现它的方法.

请让我知道ORACLE网站是对还是错?

java oracle java-8

-2
推荐指数
1
解决办法
265
查看次数

标签 统计

java ×1

java-8 ×1

oracle ×1