Object类
- 所有类的根类。
- Object是不断抽取而来的,具备所有对象都具备的共性内容
常用共性内容
boolean equals(Object obj)
class Person
{
private int age;
Person(int age)
{
this.age = age;
}
}
class ObjectDemo
{
public static void main(String[] args)
{
Person p1 = new Person(20);
Person p2 = new Person(20);
Person p3 = p1;
System.out.println(p1==p2);
System.out.println(p1.equals(p2));
System.out.println(p1.equals(p3));
}
}
// results : false false true
- 比较的是地址;
equals() 方法覆盖
class Person extends Object
{
private int age;
Person(int age){
this.age = age;
}
}
public boolean equals(Object obj){
if (!(obj instanceof Person))
{
throw new ClassCastException("类型错误");
}
Person p = (Person)obj
return this.age == obj.age;
}
- 一般都会覆盖equals,根据对象特有内容,建立判断对象是否相同的依据。
hashCode()
System.out.println(Integer.toHexString(p.hashCode()));
class Person extends Object
{
private int age;
Person(int age){
this.age = age;
}
public boolean equals(Object obj){
if (!(obj instanceof Person))
{
throw new ClassCastException("类型错误");
}
Person p = (Person)obj
return this.age == obj.age;
}
public int hashCode()
{
return this.age;
}
}
getClass()


- getClass() 获得字节码文件对象
toString() 方法
System.out.println(p1.toString());//Person@61de33
System.out.println(p1.getClass().getName()+"$"+Integer.toHexString(
p1.hashCode()));//Person$61de33
本文深入探讨Java中Object类的共性内容及equals(), hashCode(), getClass(), toString()等核心方法的实现与覆盖,解析对象比较、哈希码生成、对象信息获取等关键概念。
1656

被折叠的 条评论
为什么被折叠?



