新人问个对象、类和方法的概念问题
程序代码:
# GregorianCalendar d = new GregorianCalendar();
# int weekday = d.get(Calendar.DAY_OF_WEEK);
#
# d.add(Calendar.DAY_OF_MONTH, -1);
# weekday = d.get(Calendar.DAY_OF_WEEK);
# int weekday = d.get(Calendar.DAY_OF_WEEK);
#
# d.add(Calendar.DAY_OF_MONTH, -1);
# weekday = d.get(Calendar.DAY_OF_WEEK);
刚接触面向对象,晕了= =
想问下第4、5行的怎么用语言描述这两行到底做了什么?
我对第四行的理解是:对d这个对象变量的DAY_OF_MONTH常量属性减一
但如果这样的话,那么d的DAY_OF_WEEK常量应该不变啊,而事实上weekday是会变的,
然后,纠结了
各位指点一下吧,谢谢先
----------------解决方案--------------------------------------------------------
没有人么?这个不难啊。 = =
----------------解决方案--------------------------------------------------------
查看API--add方法
public void add(int field,
int amount)
根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。
添加规则 1。调用之后的 field 字段的值减去调用之前的 field 字段的值等于 amount,以 field 中发生的任何溢出为模。溢出发生在字段值超出其范围时,结果,下一个更大的字段会递增或递减,字段值被调整回其范围内。
添加规则 2。如果期望某一个更小的字段是无变化的,但让它等于以前的值是不可能的,因为在字段 field 发生更改之后,它的最大值和最小值也在发生更改,然后它的值被调整为尽量接近于所期望的值。更小的字段表示一个更小的时间单元。HOUR 是一个比 DAY_OF_MONTH 更小的字段。对于不期望是无变化字段的更小字段,无需进行任何调整。日历系统确定期望是无变化字段的那些字段。
指定
----------------解决方案--------------------------------------------------------
回复 3楼 legend817
恩,大概明白了,d这个对象已经不是之前的日期了 ----------------解决方案--------------------------------------------------------