什么是java中接口的抽象方法

时间:2012-02-14 13:27:14

标签: java interface ejb abstract

  

可能重复:
  Why would one declare a Java interface method as abstract?

我在一个ejb接口中找到了以下代码。有谁知道抽象在界面中做了什么?如果你这样做,请解释为什么可能需要它或提供阅读它的参考=)

@Local
public interface IDomasOrderProcessor {

    public abstract void executeOrderLines(List<OrderLine> lines);
    public abstract void setupJob(List<OrderLine> lines);
    public abstract void setupJob(OrderLine line);
}

4 个答案:

答案 0 :(得分:28)

在这种情况下,

abstract是多余的。根据定义,interface上定义的所有方法都是publicabstract

摘录Java Language Specification section 9.4

  

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

     

接口主体中的每个方法声明都是隐式的   公共

答案 1 :(得分:11)

publicabstract修饰符都隐含在接口中,应该避免使用。

答案 2 :(得分:6)

根据定义,接口中的方法是公共的和抽象的。我听说有些人说他们觉得明确地宣布他们就更清楚了,但对我来说这似乎是额外的噪音。

答案 3 :(得分:3)

根据this 记录interface的所有方法publicabstract,因此无法在abstract内明确定义interface方法。