【39】接口中的字段

//置入接口中的字段默认具有static和final属性,所以只有字段的接口可以看作是一个常数的载体
interface Months{
int
JANUARY = 1,
FEBRUARY = 2,
MARCH = 3,
APRIL = 4,
MARY = 5,
JUNE = 6,
JULY = 7,
AUGUST = 8,
SEPTEMBER = 9,
OCTOBER = 10,
NOVEMBER = 11,
DECEMBER = 12,
//接口中的字段不可以是空白final,但却可以初始化为一个表达式
RANDOMNUMBER = (int)(Math.random() * 10);
}

class MonthObj implements Months{}

public class RandValue {
//由于字段是static的,所以他们会在首次装载类之后,及调用任何字段之前得到初始化
public static void main(String[] args) {
System.out.println(Months.MARCH);
System.out.println(Months.RANDOMNUMBER);

MonthObj obj1 = new MonthObj();
MonthObj obj2 = new MonthObj();

System.out.println(obj1.MARCH);
System.out.println(obj2.MARCH);

//如果有类实现了该接口,那么该类的不同对象中包括的相同字段的值,始终相同
System.out.println(obj1.RANDOMNUMBER);
System.out.println(obj2.RANDOMNUMBER);
}
}
//注:字段不是接口的一部分,而是保存于那个接口的静态存储区中。

 

posted @ 2012-03-22 11:52  Marstar  阅读(1403)  评论(0编辑  收藏  举报