2016-09-21 85 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修改此類一個方法聲明。