public class Test1 {
public static void main(String[] args) {
Object o = new Object();
Object o2 = new Object();
Class aClass = o2.getClass();
Class aClass1 = o.getClass();
System.out.println(aClass);
System.out.println(aClass1);
}
}
运行结果为:
class java.lang.Object
class java.lang.Object
public class Test1 {
public static void main(String[] args) {
Person p1 = new Person(20,"a");
Person p2 = new Person(20,"a");
System.out.println(p1.equals(p2));//调用equals方法
}
}
class Person{
private int age;
private String name;
public Person(){
}
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
@Override //重写过后的equals方法
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(age, name);
}
}
运行结果为:
true
hashcode()方法hashcode()方法的功能就是返回该对象的哈希码值,不同的对象,其哈希码值一般不同,但相同的对象哈希码值一定相同。哈希码值它不是对象的实际地址,是对象的逻辑地址。演示:public class Test1 { public static void main(String[] args) { Object o = new Object(...