Object类
特点
- Object类是所有类的根父类
- Object类中没有属性,只有方法
- Object类中只有一个无参构造器
- 如果一个类没有写extends,则默认继承Object
常用方法
- Object类中的equals()里面就是 ==,所以想要比较实体内容,就要重写equals(),String类中就重写了此方法
//Object类中equals()
public boolean equals(Object obj) {
return (this == obj);
}
//String类中重写的equals()
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
-
toString():返回 类名@哈希值
往往需要重写toString()比较实体内容
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}