Tag: java的

覆盖Object.equals VS重载它

阅读:有效的Java – Joshua Bloch的第二版 第8项 – 在覆盖等于国家时遵守一般合同: 程序员编写一个看起来像这样的equals方法,然后花费数小时来解释为什么它不能正常工作的情况并不少见: [此处代码示例] 问题是此方法不会覆盖Object.equals,其参数类型为Object,但会重载它。 代码示例: public boolean equals(MyClass o) { //… } 我的问题: 为什么强类型的equals方法像这个代码示例中的那样重载不够? 该书指出,重载而不是覆盖是不好的,但它没有说明为什么会出现这种情况或者什么情况会使这种等于方法失败。