首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

一路想不通的题

2011-12-04 
一道想不通的题packageorg.dothwinds.dateimportjava.util.CalendarpublicclassStudent{publicstaticfin

一道想不通的题
package   org.dothwinds.date;

import   java.util.Calendar;

public   class   Student   {
public   static   final   Student   STUDENT   =   new   Student();

private   final   int   age;

private   final   static   int   Brithday   =         Calendar.getInstance().get(Calendar.YEAR);

private   Student()   {
age   =   Brithday   -   1983;
}

public   int   MyAge()   {
return   age;
}

public   static   void   main(String[]   args)   {
System.out.println( "The   Student   age   is   "   +   STUDENT.MyAge());
}
}

最后答案The   Student   age   is   -1983
但是去掉static就是24(也就是想要的结果)
不明白为什么~~  
请教了~

[解决办法]
因为静态数据是首先按顺序载入的

所以在载入
public static final Student STUDENT = new Student();
时,还没伦到
private final static int Brithday = Calendar.getInstance().get(Calendar.YEAR);
所以i为0,然后赋给final的age,所以age=0-1983

热点排行
Bad Request.