toString(),equals()和hashCode()在一个接口中。

11 浏览
0 Comments

toString(),equals()和hashCode()在一个接口中。

我有一个接口,其中有一堆需要实现的方法,方法名字不重要。

实现这个接口的对象经常被放入集合中,还有一个我希望它们使用的特殊toString()格式。

所以,我觉得把hashCode(),equals()和toString()放入接口中会很方便,以确保我记得覆盖这些默认方法。但是,当我把这些方法添加到接口中时,IDE/编译器不会报错,即使我明确地把它们放在接口中。

为什么它不对我强制执行呢?如果我没有实现其他方法之一,它会报错,但它不强制执行这三个方法。为什么?有什么线索吗?

0