【发布时间】:2014-11-11 10:41:49
【问题描述】:
我正在学习 java 编程,我对常量有点困惑。从我目前所读到的内容来看,常量是最终的,与变量不同,不能重新分配新值。但是,当我使用 Calender 类时,有 set 方法似乎改变了一个常量字段。例如:
Calendar cal = Calendar.getInstance();
System.out.println("The year is " + cal.get(Calendar.YEAR));
cal.set(Calendar.YEAR, 2001);
System.out.println("The year is " + cal.get(Calendar.YEAR));
如果Calendar.YEAR 字段在Calendar 类中声明为final,那么为什么我可以使用set 方法将其更改为另一个值?
【问题讨论】:
-
这就是你“获取”常量的方式:
Calendar.YEAR。这就是你“设置”它的方式:Calendar.YEAR = 3。试试看它失败了。