0

非常に紛らわしい質問があります。まず、特定のクラスからオブジェクトをインスタンス化することについて知っていることを説明します。

  1. タイプ(インターフェイスタイプの場合もあります)、参照名(変数)を宣言することにより、クラスのインスタンス(またはオブジェクト)を作成し、equal演算子の反対側で、キーワードnewを使用して特定のタイプのメモリを予約しますオブジェクトの。ステートメントをコンストラクター呼び出しで終了します(インターフェースはインスタンス化できないため、インターフェースにすることはできません)

  2. 一部のクラスには、privateとして宣言されたコンストラクターがあります。つまり、コンストラクター呼び出しを使用して新しいオブジェクトを作成することはできません。

  3. 別の方法として、Calendarクラスなど、一部のクラスはパブリックメソッドまたは静的メソッドを介してオブジェクトをインスタンス化することを「許可」します。このクラスのインスタンスは次のようになります。

カレンダーvariableRepresentingAnInstanceOrObject=Calendar.getInstance();

(上記で何か問題があった場合は、私を修正できます)

さて、質問があります。私はjava begginerなので、JodaTimeライブラリのいくつかのクラスと少し混乱しています。MinutesHoursなどと呼ばれるクラスがいくつかあります。私はすでにそれらのクラスのドキュメントを読んでいますが、それらを非難する方法がわかりません。コンストラクターがプライベートであるため、キーワードnewを使用できません(Eclipseは、コンストラクターが表示されないことを通知しています)。分(時間ではない)の宣言で、次のように述べています。分数はコンストラクターで設定され、getMinutes()を使用して照会できます。私の知る限り、それらには(カレンダークラスのように)使用するパブリックメソッドも静的メソッドもありません。

どのコンストラクター?それをどのように呼ぶのですか?

ドキュメントで何かを見逃しましたか、それともJavaを学習しているときに何かを見逃しましたか?誰かが私にこれを説明してもらえますか?本当にお世話になります。よろしくお願いします=)

4

2 に答える 2

2

このクラスは、次のようないくつかのファクトリメソッドを提供します。

Minutes m = Minutes.minutes(5); // a period of 5 minutes
Minutes m = Minutes.minutesBetween(date1, date2);

staticオブジェクトを返すjavadocのメソッドを確認してくださいMinutes。それらのほとんどはファクトリメソッドです。

于 2012-12-03T11:27:18.820 に答える
0

Minutes静的ファクトリメソッドminutes(int minutes)があり、HoursがありますHours.hours(int hours)

于 2012-12-03T11:26:36.857 に答える