Welcome

首页 / 软件开发 / JAVA / 初始化java接口中的字段

初始化java接口中的字段2007-05-28 yycnet.yeah.net yyc译接口中定义的字段会自动具有static和final属性。它们不能是“空白final”,但可初始化成非常数表达式。例如:
//: RandVals.java// Initializing interface fields with // non-constant initializersimport java.util.*;public interface RandVals {int rint = (int)(Math.random() * 10);long rlong = (long)(Math.random() * 10);float rfloat = (float)(Math.random() * 10);double rdouble = Math.random() * 10;} ///:~

由于字段是static的,所以它们会在首次装载类之后、以及首次访问任何字段之前获得初始化。下面是一个简单的测试:
//: TestRandVals.javapublic class TestRandVals {public static void main(String[] args) {System.out.println(RandVals.rint);System.out.println(RandVals.rlong);System.out.println(RandVals.rfloat);System.out.println(RandVals.rdouble);}} ///:~

当然,字段并不是接口的一部分,而是保存于那个接口的static存储区域中。