public interface Table<T> {
@Overrride
default boolean equals(Object other) {
//do something and return true/false
}
}
为什么上面的代码有编译错误&#34; java:默认方法equals in interface Table覆盖了java.lang.Object的成员&#34;?我们不能使用接口默认方法覆盖hashCode和equals方法,大概我在同一个接口中有方法来确定实现这个接口的对象是否相等?
答案 0 :(得分:12)
没有。具有实现的类总是胜过默认方法,因此永远不能调用默认的hashCode
或equals
,因此禁止使用。