想了解更多有关Calendar.getInstance()
的信息。我可以使用constroctor创建Date实例,但为什么不是Calendar实例呢?为什么Calendar
设计为使用工厂方法以及为什么它是抽象类。
请分享背后的原因。
我的问题非常简单: 如果我们在Date类上有新的运算符,为什么不为Calender。静态方法创建实例背后的想法是什么。
非常感谢,
答案 0 :(得分:3)
有不同的Calendar实现。 Calendard.getInstance()对语言环境敏感,并返回默认语言环境所在国家/地区的合适实现。
文档说:“返回的日历基于默认时区的当前时间和默认语言环境。”
根据源代码,您可以获得一个BuddhistCalendar用于语言“th”和国家“TH”或日本日本帝国日历用变体“JP”。否则你得到一个GregorianCalendar实例。
您可以使用其构造函数创建GregorianCalendar实例。