2016-09-21 84 views
0

说我有一个接口FirstInterface如下:差Vs不使用抽象关键字

public interface FirstInterface { 
    public void myInterfaceMethod(); 
} 

这里我声明的方法myInterfaceMethod(),这将在被定义将实现此接口的类。

,但我还可以做

public interface FirstInterface { 
    public abstract void myInterfaceMethod(); 
} 

我已经加入方法声明关键字抽象。 我想知道,如果有的话,它是否有任何区别在方法声明中添加抽象关键字?

回答

3

默认情况下,接口中的所有非默认,非静态方法都是抽象的。添加关键字是无害的,但不会改变任何内容,并且被JLS“劝阻”为风格问题。“

JLS§9.4

缺乏default修改或static修改器的接口方法隐含abstract ...这是允许的,但不鼓励作为一个风格问题,以冗余指定abstract修改此类一个方法声明。