Java 接口(interface)的三种类型

时间:2022-10-13 17:46:46
  • 放入接口中的任何域(成员变量)都自动是 static 和 final 的;

1. 包含抽象方法的常规接口

2. 全部是常量的

  • 因为放入接口中的任何域(成员变量)都自动是 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;