在接口抽象中标记方法是否有意义?

时间:2015-09-14 06:57:23

标签: java interface abstract

我已经为接口重构了一些方法,并且在接口声明中保留了abstract修饰符。这样的事情在我的代码中:

public interface TestAbstractMethod {

    public abstract void doSomething();

}

我现在意外地注意到它,我真的很惊讶声明没有被标记为无效,它实际上是编译和工作。

接口中是否允许使用abstract修饰符?这会以任何方式改变界面的行为吗?

1 个答案:

答案 0 :(得分:2)

是的,这是允许的,但在Java语言规范中不鼓励使用它,§9.4

  

接口主体中的每个方法声明都是隐式抽象的,因此它的主体总是用分号表示,而不是块。

     

允许但不鼓励作为样式,为接口中声明的方法冗余地指定公共和/或抽象修饰符。