Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 接口名称与其方法参数类型相同_Java - Fatal编程技术网

Java 接口名称与其方法参数类型相同

Java 接口名称与其方法参数类型相同,java,Java,各位好, 我遇到了这个例子,我不知道为什么 方法与接口具有相同的名称。为什么不是int? 使用与接口相同的名称有什么好处 谢谢 这种方法的思想是比较两个树值对象。这类似于任何对象的equals方法,这与对象的equals签名没有区别 public interface TreeValue { public boolean lessThan(TreeValue value) } 。。。或者(其中T定义为Long) 这里,您的接口定义了一个方法,该方法接受实现TreeValue的另一个类,并允

各位好,

我遇到了这个例子,我不知道为什么 方法与接口具有相同的名称。为什么不是int? 使用与接口相同的名称有什么好处


谢谢

这种方法的思想是比较两个树值对象。这类似于任何
对象的
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)