- 放入接口中的任何域(成员变量)都自动是 static 和 final 的;
1. 包含抽象方法的常规接口
2. 全部是常量的
接口类中的方法和属性不要添加任何修饰符号(public 也不需要)。
因为放入接口中的任何域(成员变量)都自动是 static 和 final 的;所以接口就成为了一种很便捷的用来创建常量组的工具;
public interface Months { int JANUARY = 1, FEBURARY = 2, ..., DECEMBER = 12; }
在 Java SE5 之前,这是产生与 C/C++ 的 enum(枚举类型)具有相同效果的类型的唯一途径。有了 Java SE5,就可以使用更加强大而灵活的 enum 关键字,因此,使用接口来群组常量已经没有太多意义了。
3. 空接口(null interface)
空接口也称为标示接口(marker interface),其功能如下:
- 做标志(marker)用。
可在逻辑上让几个类都成为这个接口的子类;
// null interface public interface EnvironmentObject{} // public interface Agent extends EnvironmentObject { .... }
常见的空接口有:
- java.lang.Cloneable;
- java.lang.Serializable;
- java.rmi.Remote;