Java 接口名称与其方法参数类型相同
各位好, 我遇到了这个例子,我不知道为什么 方法与接口具有相同的名称。为什么不是int? 使用与接口相同的名称有什么好处Java 接口名称与其方法参数类型相同,java,Java,各位好, 我遇到了这个例子,我不知道为什么 方法与接口具有相同的名称。为什么不是int? 使用与接口相同的名称有什么好处 谢谢 这种方法的思想是比较两个树值对象。这类似于任何对象的equals方法,这与对象的equals签名没有区别 public interface TreeValue { public boolean lessThan(TreeValue value) } 。。。或者(其中T定义为Long) 这里,您的接口定义了一个方法,该方法接受实现TreeValue的另一个类,并允
谢谢 这种方法的思想是比较两个树值对象。这类似于任何
对象的equals
方法,这与对象的equals
签名没有区别
public interface TreeValue {
public boolean lessThan(TreeValue value)
}
。。。或者(其中T
定义为Long
)
这里,您的接口定义了一个方法,该方法接受实现TreeValue
的另一个类,并允许您对其执行操作。在这里,它允许您将两个类似TreeValue
的类比较在一起,以生成布尔结果
这里的关键是上下文。不管方法实际上是如何实现的,这里的意图是接口作用于实现它的另一个类,从而保持操作的上下文清晰。我理解,但为什么参数TreeValue(和接口同名)的类型不是整数?使用TreeValue作为类型而不是整数是否有好处?是的。它基本上为您的代码上下文提供了操作所需的内容。它不是试图对一个整数执行lessThan
操作,而是试图对一个(实现的东西)TreeValue
的实例执行该操作。
public boolean equals(Integer otherInteger)
public int compareTo(Long otherObject)