-3

についてもっと知りたいと思ったCalendar.getInstance()。コンストラクターを使用して Date インスタンスを作成できますが、Calendar インスタンスを作成できないのはなぜですか? ファクトリ メソッドを使用するように設計された理由Calendarと、それが抽象クラスであった理由。

その背後にある理由を共有してください。

私の質問は非常に単純です。Date クラスに new 演算子がある場合、Calender にはどうですか。インスタンスを作成する静的メソッドの背後にあるアイデアは何でしたか。

どうもありがとう、

4

1 に答える 1

3

さまざまなカレンダーの実装があります。Calendard.getInstance() はロケールに依存し、デフォルト ロケールの国に適した実装を返します。

ドキュメントには、「返されるカレンダーは、デフォルト ロケールのデフォルト タイム ゾーンの現在の時刻に基づいています」と記載されています。

ソースコードによると、言語「th」と国「TH」のBuddhistCalendar、またはバリアント「JP」の日本用のJapaneseImperialCalendarを取得します。それ以外の場合は、GregorianCalendar インスタンスを取得します。

コンストラクターを使用して GregorianCalendar インスタンスを自由に作成できます。

于 2014-11-12T11:06:09.230 に答える