龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

初始化接口中的字段

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
接口中定义的字段会自动具有static和final属性。它们不能是“空白final”,但可初始化成非常数表达式。例如: //: RandVals.Java // Initializing interface fields with // non-constant initializers import ja

  接口中定义的字段会自动具有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存储区域中。
  
精彩图集

赞助商链接