Java面向对象设计 - 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字段只赋值一次,因此除了声明之外,我们不能设置接口字段的值。
public interface ValidFields { int X = 10; int Y = X; double N = X + 10.5; boolean YES = true; boolean NO = false; Test TEST = new Test(); }
使用接口中字段名称中的所有大写字母表示它们是常量是一种约定。
接口的字段总是公共的。