这是一种可能性,接口继承类在java?



我一直在学习接口比较器,听说equals方法继承自Object类。

这怎么可能?难道一个接口不能从另一个接口继承吗?

所有实现接口的类都必须(直接或间接)扩展Object,因此有一个equals方法。

方法在接口中被重写纯粹是为了文档目的,比如这样,允许为接口的实现提供额外的约束(或更详细的信息)。

Comparator.equals的Javadoc的重要部分是:

此方法必须服从Object.equals(Object)的总契约。此外,只有当指定的对象也是比较器,并且它与这个比较器施加相同的顺序时,该方法才能返回true。

所以,这是说Comparator.equals的实现比更一般的Object.equals方法提供了更强的保证:如果这个方法说两个东西相等,那么它们必须以相同的方式排序对象。


话虽如此,我从未见过Comparator的实现覆盖equals。毕竟,这只是一个比较的东西——你需要多久比较一次这样的东西?

我能想到的唯一有用的情况是,如果你正在构建一个List<Comparator<Something>>,并且不想有多个强加相同顺序的比较器。耸耸肩——也许这只是我想象力的失败,没有想到更有用的东西。

默认情况下,equals方法继承自Object类,它是所有类的父类。默认的equals方法作为==操作符。如果对象引用在内存中指向相同的对象,则比较它们

最新更新