Object类是一个特殊的类,是所有类的父类,如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。Object类中三个常用的方法: toString()
、equals()
、hashCode()
。
取得对象信息的方法: toString()
该方法在打印对象时候被调用,将对象信息变为字符串返回,默认输出对象地址。
输出结果:
上述结果可看出编译器默认调用toString()
方法输出对象,但输出的是对象的地址,我们并不能看懂它的意思。就要通过重写Object类的toString()方法来输出对象属性信息。
输出结果:
对象相等判断方法: equals()
该方法用于比较帝乡是否相等,而且此方法必须被重写。
输出结果:
很明显输出的结果是错误的,因为equals()方法比较的是两个对象的地址 ,所以必须重写方法才能到达目的。
对象签名: hashCode()
该方法用来返回其所在对象的物理地址(哈希码值),常会和equals方法同时重写,确保相等的两个对象拥有相等的hashCode。
输出结果: