如果我们没有在默认情况下向方法添加任何访问说明符,则它是默认类型。
但是我们添加了default关键字然后它给了我错误,就像我们只能在接口中使用默认方法一样。我知道函数式接口中的默认方法,但奇怪为什么它在 eclipse 中显示错误。
public class Test
{
default void test() { //Default methods are allowed only in interfaces.
}
}
Run Code Online (Sandbox Code Playgroud)
这个工作正常
public class Test
{
void test()
{
}
}
Run Code Online (Sandbox Code Playgroud)
有什么理由吗?
该default关键字与源自未指定访问权限的默认“包私有”访问权限无关。该default关键字仅适用于接口(而不仅仅是功能接口),以在接口中提供默认实现。这是 Java 8 中引入的一项功能,可以更轻松地进行界面演变。
default在类中使用时重载关键字以表示“包私有”访问只会令人困惑并且没有实际价值,因为通过不指定访问来实现相同的目的。
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |