1、在Object中的 hashCode() 方法是怎样的?
public native int hashCode();
这个方法不是抽象方法,带有native关键字,底层调用c++程序。
2、hashCode()方法返回的是哈希码,实际上是一个Java对象的内存地址,经过哈希算法,得出的一个值,所有hashCode()方法的执行结果可以等同于一个Java对象的内存地址。
以下代码加深理解
import java.util.Objects;
public class Test4 {
public static void main(String[] args) {
Object o = new Object();
int hashValue1 = o.hashCode();
System.out.println(hashValue1);
Class1 c = new Class1();
int hashValue2 = c.hashCode();
System.out.println(hashValue2);
}
}
class Class1{
}
输出结果为: