Java 8 缺省方法接口覆盖对象等于方法

2022-09-03 02:07:35
public interface Table<T> {

    @Overrride
    default boolean equals(Object other) {
        //do something and return true/false
    }
}

为什么上面的代码有编译错误“java:接口中的默认方法等于表覆盖java.lang.Object的成员”?我们不能使用接口默认方法覆盖hashCode和等于方法吗,大概我在同一接口中有方法来确定实现此接口的对象的相等性?


答案 1

不。具有实现的类总是会胜过默认方法,因此具有默认值或永远无法调用,因此是被禁止的。hashCodeequals


答案 2

推荐