为什么使用日历字段需要写成Calender.DATE

为什么使用日历字段需要写成Calender.DATE

问题描述:

为什么不能写成c.get(YEAR)而非要写成c.get(Calendar.YEAR)?
c不是Calendar的子类对象吗

import java.util.Calendar;

public class CalendarDemo {

    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();

        //为什么不能是int year = c.get(YEAR);
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int day = c.get(Calendar.DATE);

        System.out.println(c.get(Calendar.DATE));
        System.out.println(year+"."+month+"."+day);
    }

}

可以看下Calendar底层,Calendar是抽象类。

img