2016-12-24 12 views
-1

LocalDateTime抽象クラスです。だから私は書くことができません。LocalDateTimeがインスタンスを返すのはなぜですか?

LocalDateTime value = new LocalDateTime(); //error 

を、私はそのインスタンスを取得したい場合は、私が書く必要があります:

LocalDateTime value = LocalDateTime.now(); //not error 

私は疑問を持って、はなぜLocalDateTimeをインスタンスを返すことができますか?これは抽象クラスです。

+2

代わりnew' 'の使用されている[ファクトリメソッド(https://en.wikipedia.org/wiki/Factory_method_pattern)について、および[不変オブジェクト(HTTPSを学ぶ、このについての詳細を理解します。 //en.wikipedia.org/wiki/Immutable_object)。 –

答えて

5

LocalDateTime抽象クラスではありません...私は概要を見ましたが、私はそれを見つけることができませんでした。

public final class LocalDateTime 
    implements Temporal, TemporalAdjuster, ChronoLocalDateTime<LocalDate>, Serializable { 

これにはプライベートコンストラクタがあるため、直接インスタンス化はできません。ファクトリメソッド(now()now(ZoneId)など)を使用してインスタンスを作成します。

0

LocalDateTimeは、日付時刻を表す不変の日時オブジェクトです。

このクラスは、タイムゾーンを保存または表すことはありません。代わりに、それは日付の説明です。オフセットやタイムゾーンなどの追加情報なしでは、タイムライン上で瞬間を表すことはできません。

です。

LocalDateTime desc = LocalDateTime.now(); 
関連する問題