最开始我想的答案是2008-1930=78
但测试后输出竟是-1930
最后问了N个朋友,得出了N个不同的结果
所以也不知道哪些朋友说的对,自己也想了很长时间,找了N多资料,结果自己也做了个总结
希望各位朋友指正(不要BS就好 ^_^)
1.首先初始化成员变量,即使int size = 6,那么也先是size = 0 然后才赋值为6
2.执行方法,因为类里第一行就调用构造方法,所以这个时候THIS_YEAR还是为0
3.输出结果的时候,自然为-1930
但测试后输出竟是-1930
最后问了N个朋友,得出了N个不同的结果
所以也不知道哪些朋友说的对,自己也想了很长时间,找了N多资料,结果自己也做了个总结
希望各位朋友指正(不要BS就好 ^_^)
1.首先初始化成员变量,即使int size = 6,那么也先是size = 0 然后才赋值为6
2.执行方法,因为类里第一行就调用构造方法,所以这个时候THIS_YEAR还是为0
3.输出结果的时候,自然为-1930
import java.util.Calendar;
public class Test{
public static final Test INSTANCE = new Test();
private int size = 6;
private static int THIS_YEAR = Calendar.getInstance().get(Calendar.YEAR);
private Test(){
size = THIS_YEAR - 1930;
}
public int getSize(){
return size;
}
public static void main(String[] args){
System.out.println(INSTANCE.getSize());
}
}