我正在读我的旧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开始,接口现在可以定义静态方法。看到这篇文章everything-about-java-8
我的问题是,Java 8中接口方法的隐式声明是什么?只有public
或没有?
隐式修饰符的规则不变。如果未指定其他修饰符,则使用隐式修饰符。abstract
既未指定,static
也default
未指定。并且所有方法总是public
隐式或显式的。请注意,interface
字段始终是隐式的public
static
。这也不会改变。
最后,我们应该等待Java 8的完成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句