В HotSpot можно выбрать один из 6 режимов генерации hashCode
В java hashCode - целочисленное представление объекта. Метод hashCode класса Object возвращает значение типа int. Этот метод имеет модификатор native, т.е. он написан не на java. (Как вычисляется hashCode)
У класса есть несколько важных методов.
При переопределении методов можно изменить тип возвращаемого значения, если тип является наследником типа из переопределяемого метода
При наследовании в java методы можно переопределять, т.е. у наследника реализовать свою версию метода. Для этого нужно у наследника создать метод с такой же сигнатурой. При этом возвращаемое значение, модификатор доступа и выбрасываемые исключения могут отличаться.