-3

想了解更多关于Calendar.getInstance(). 我可以使用构造函数创建 Date 实例,但为什么不能创建 Calendar 实例?为什么Calendar设计使用工厂方法以及为什么它一直是抽象类。

请分享背后的原因。

我的问题很简单:如果我们在 Date 类上有 new 运算符,为什么不使用 Calender。创建实例的静态方法背后的想法是什么。

非常感谢,

4

1 回答 1

3

有不同的日历实现。Calendard.getInstance() 对区域设置敏感,并为您的默认区域设置的国家/地区返回合适的实现。

文档说:“返回的日历基于默认时区的当前时间和默认语言环境。”

根据源代码,您将获得语言“th”和国家/地区“TH”的佛教日历或带有变体“JP”的日本的 JapaneseImperialCalendar。否则你会得到一个 GregorianCalendar 实例。

您可以使用其构造函数自由创建 GregorianCalendar 实例。

于 2014-11-12T11:06:09.230 回答