GregorianCalendar  d  =  new  GregorianCalendar();  
     int  sunday  =  d.get(Calendar.SUNDAY);  
     int  y  =  Calendar.SUNDAY;  
 
为什么都是Calendar.SUNDAY。打印出来sunday是2006,y是1的??  
 
本人刚刚学~~对面向对象感念有点模糊,,麻烦教教我啊~~呵呵~  
 
先谢啦~~

解决方案 »

  1.   

    你两个调用都是错误的Calendar.SUNDAY 表示一个常量而已,不是变量!int day = d.get(Calendar.DAY);如果是星期天 则 day == Calendar.SUNDAY  你要搞清楚意思。
      

  2.   

    但是我 int  sunday  =  d.get(Calendar.SUNDAY);  这句怎么打印出来的是2006的??
    呵呵~~
      

  3.   

    那是因为 Calendar.SUNDAY == 1而 Calendar.YEAR == 1编译以后上面两者是没有区别的,所以上面在编译后等同于
     int  sunday  =  d.get(Calendar.YEAR);实际上d.get(Calendar.SUNDAY)明显是一个错误的语句,因为这个没有意义
      

  4.   

    Calendar.get(int field);它要求的是field, YEAR、MONTH、DATE这些才是fieldSUNDAY、JANUARY、AM这些是field的Value可选值列表,而不是field