实例化公历对象
Instantiating a Gregorian Calendar object
在Oracle Java关于公历的文档中,给出了一个例子:
// create a GregorianCalendar with the Pacific Daylight time zone
// and the current date and time
Calendar calendar = new GregorianCalendar(pdt);
我了解 GregorianCalendar
是 Calendar
摘要 class 的子class。
我从例子中不明白的是为什么它没有这样写代码:
GregorianCalender calendar = GregorianCalendar(pdt);
100% 可以这样做:
GregorianCalender calendar = GregorianCalendar(pdt);
示例显示的原因:
Calendar calendar = new GregorianCalendar(pdt);
因为这样比较灵活
假设您的代码适用于任何类型的日历。换句话说,它不依赖于公历中的具体细节。在这种情况下,您可以使用 Calendar
作为变量的类型,您的代码仍然可以正常编译和工作。
通过使用 Calendar
作为变量类型,您允许变量 calendar
保存任何类型的日历。假设您的需求发生变化,您现在允许用户选择他们想要使用的日历系统。现在你只需要改变 =
符号的部分。无需更改变量的类型。
在Oracle Java关于公历的文档中,给出了一个例子:
// create a GregorianCalendar with the Pacific Daylight time zone
// and the current date and time
Calendar calendar = new GregorianCalendar(pdt);
我了解 GregorianCalendar
是 Calendar
摘要 class 的子class。
我从例子中不明白的是为什么它没有这样写代码:
GregorianCalender calendar = GregorianCalendar(pdt);
100% 可以这样做:
GregorianCalender calendar = GregorianCalendar(pdt);
示例显示的原因:
Calendar calendar = new GregorianCalendar(pdt);
因为这样比较灵活
假设您的代码适用于任何类型的日历。换句话说,它不依赖于公历中的具体细节。在这种情况下,您可以使用 Calendar
作为变量的类型,您的代码仍然可以正常编译和工作。
通过使用 Calendar
作为变量类型,您允许变量 calendar
保存任何类型的日历。假设您的需求发生变化,您现在允许用户选择他们想要使用的日历系统。现在你只需要改变 =
符号的部分。无需更改变量的类型。