我在读我的旧 SCJP 6 书(作者 Kathy Sierra,Bert Bates)提到了
- 所有
interface
方法默认都是隐式public
和abstract
interface
方法不能是static
例如,如果我们声明
interface Car
{
void bounce(); //no need of public abstract
void setBounceFactor(int b); //no need of public abstract
}
编译器看到了什么
interface Car
{
public abstract void bounce();
public abstract void setBounceFactor(int b);
}
但是 从 Java 8 开始,接口(interface)现在可以定义静态方法。 see this article everything-about-java-8
我的问题是,Java 8 中接口(interface)方法的隐式声明是什么?仅public
还是什么都没有?
最佳答案
隐式修饰符的规则没有改变。当没有指定其他修饰符时,使用隐式修饰符。 abstract
在 static
和 default
都没有指定的情况下是隐含的。并且所有方法始终是public
,无论是隐式的还是显式的。请注意,interface
字段始终是隐式的 public
static
。这也没有改变。
但对于最后的话,我们应该等待 Java 8 的完成。
关于java - Java 8 中接口(interface)方法的隐式声明是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20045759/