当前页面: 开发资料首页 → J2SE 专题 → 初始化接口中的字段
初始化接口中的字段
摘要: 初始化接口中的字段
<table cellSpacing=0 cellPadding=0 border=0 class="zh114" align="right">
<tr>
<td >
</td>
</tr>
</table>
接口中定义的字段会自动具有static和final属性。它们不能是“空白final”,但可初始化成非常数表达式。例如:
//: RandVals.java
// Initializing interface fields with
// non-constant initializers
import 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.java
public 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存储区域中。
<table width="96%">
<tr>
<td background="http:///images/dian.gif" height="3"></td>
</tr>
</table>