也许这是个愚蠢的问题,但我不想搞砸了。假设我有两个Java类:Class1
和Class2
,其中Class2 extends Class1
。我想要用Guava重写这两个类的Object.hashcode()
方法。对于超类,我已经有了
@Override
public int hashCode() {
return Objects.hashcode(mField1, mField2);
}
对于Class2,如何正确实现考虑了Class1成员的hashcode()函数?是像这样实现吗?
@Override
public int hashcode() {
return Objects.hashcode(super.hashcode(), mField3, mField4);
}
我感觉是对的,但我需要一些验证。Joshua Bloch在《Effective Java》中没有涉及这种情况,Guava文档也没有。