从接口和静态类调用属性有什么区别

时间:2014-08-22 08:39:02

标签: java

public interface AFEvent {
  public String UNKNOWN ="Unknown";
  public String ERROR = "EQUINOX_EVENT_ERROR";
  public String REJECT = "EQUINOX_EVENT_REJECT";
  public String ABORT = "EQUINOX_EVENT_ABORT";
}

并且

public class AFEvent {
   public static final String UNKNOWN ="Unknown";
   public static final String ERROR = "EQUINOX_EVENT_ERROR";
   public static final String REJECT = "EQUINOX_EVENT_REJECT";
   public static final String ABORT = "EQUINOX_EVENT_ABORT";
}

然后我可以用同样的方式调用它。

从接口与静态类调用属性时有什么不同?

2 个答案:

答案 0 :(得分:2)

接口中声明的

字段默认为staticfinal。因此,如果要将它们用作最终常量,则没有区别。

答案 1 :(得分:1)

使用final属性时,没有区别。接口和类之间的主要区别在于,在接口上,您不能提供方法实现,而只能提供契约,以便强制实现接口的任何类为这些方法契约提供实现。在类上,您可以提供方法实现(和合同,如果声明为abstract)。