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());
”这种解释是否正确?那么这是否意味着当我们在方法中使用非静态方法时,不需要引用对象?