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());
ます。この説明は正しいですか? つまり、メソッド内で非静的メソッドを使用する場合、オブジェクトを参照する必要がないということですか?