Java接口字段
一個接口可以有三種類型的成員:
- 常量字段
- 抽象,靜態和默認方法
- 靜態類型作爲嵌套接口和類
一個接口不能有可變的實例和類變量。與類不同,接口不能被實例化。 接口的所有成員都是隱式公開的。
常量字段聲明
可以在接口中聲明常量字段,如下所示。 它聲明一個名爲Choices
的接口,它有兩個字段的聲明:YES
和NO
。 兩者都是int
數據類型。
public interface Choices {
public static final int YES = 1;
public static final int NO = 2;
}
接口中的所有字段都是隱式的public
,static
和final
。Choices
接口可以聲明如下,而不改變其含義:
public interface Choices {
int YES = 1;
int NO = 2;
}
可以使用點形式的形式訪問接口中的字段,如下 -
<interface-name>.<field-name>
可以使用Choices.YES
和Choices.NO
訪問Choices
接口中的YES
和NO
字段的值。下面的代碼演示瞭如何使用點符號來訪問接口的字段。
public class ChoicesTest {
public static void main(String[] args) {
System.out.println("Choices.YES = " + Choices.YES);
System.out.println("Choices.NO = " + Choices.NO);
}
}
接口中的字段總是最終的(final
),無論關鍵字final
是否在其聲明中使用。必須在聲明時初始化一個字段。
可以使用編譯時或運行時常量表達式來初始化字段。 由於final
字段只賦值一次,因此除了聲明之外,不能設置接口字段的值。
以下代碼顯示了接口的一些有效和無效字段聲明:
public interface ValidFields {
int X = 10;
int Y = X;
double N = X + 10.5;
boolean YES = true;
boolean NO = false;
//Test TEST = new Test();
}
使用接口中字段名稱中的所有大寫字母表示它們是常量是一種約定。接口的字段總是公共的(public
)。