Object
Object类是类层次中的根类,即所有类的父类。 所有对象(包括数组)都实现了这个类的方法。
Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implement the methods of this class.
Object类有空参构造方法。(只要是类就有构造方法,抽象类也有构造方法)
但是Object的构造方法里并没有隐式的super()语句,因为Object没有父类
Object类的方法
boolean equals(Object obj)
用来判断一个对象与另一个对象是否相等。
该方法的源码为
public boolean equals(Object obj){ return (this==obj); }
比较的是两个对象的内存地址,通常没有意义,需要子类去重写。重写时,通常比较的是成员变量的值。
注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。
String toString()
返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。建议所有子类覆盖此方法。
如果一个对象未重写toString()方法,那么它将会调用父类的toString(),如果父类也没有重写这个方法,那么就迭代往上调用,直到Object的toString()方法。
在System.out.println()语句中,如果参数为对象,则默认调用对象的toString方法。