为接口方法指定抽象与否的区别是什么?

时间:2011-07-17 16:56:04

标签: java interface abstract

在Java中为接口方法指定abstract关键字而不指定它有什么区别?

像:

public void foo();
public abstract void foo();

2 个答案:

答案 0 :(得分:11)

没有区别。请参阅JLS Interfaces - Abstract Method Declatations

  

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

另请注意:

  

为了与旧版Java平台兼容,允许但不鼓励,作为一种风格,为接口中声明的方法冗余地指定抽象修饰符

答案 1 :(得分:0)

没有区别接口中的所有方法都是隐式抽象,因为要实现该接口所有方法都必须覆盖... 奇怪的是它正在运作