public class Appointment{
public TimeInterval getTime();
{/*implementation not shown*/}
public boolean conflictsWith(Appointment other)
{
return getTime().overlapsWith(other.getTime());
}
}
public class TimeInterval{
public boolean overlapsWith(TimeInterval interval)
{/*implementation not shown*/}
}
私の質問はreturn getTime().overlapsWith(other.getTime())
の記述にあります。 getTime()
は静的メソッドではないので、オブジェクトを参照しているときにしか使用できないと思います。しかし、その声明から、何も言及されていない。 getTime()
は後続のメソッドのオブジェクトを返しますが、それ自体はどうですか?私のクラスメートは、「conflictsWith()
メソッドを使用する場合、オブジェクトを宣言するので、returnステートメントはreturn object.getTime().overlapsWith(other.getTime());
と等しくなります」と説明しています。「この説明は正しいですか?つまり、メソッド内で非静的メソッドを使用すると、オブジェクトを参照する必要はありません。オブジェクトを参照せず非静的メソッドを使用していますか?
はあなたのジェレミーありがとう、私は多くの質問があります:私は、メソッドの内部でメソッドを使用していたとき、私は、オブジェクトを使用して無視でき意味1.Doesを? 2.「これ」とは何ですか?このクラスの隠されたオブジェクト?これらが本当にシンプルなのは残念です。 – Adlius
'this'はキーワードです。これはオブジェクト参照として機能し、現在のオブジェクトインスタンスを参照します。 – QuantumMechanic