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){
       returnthis==obj);
}

比较的是两个对象的内存地址,通常没有意义,需要子类去重写。重写时,通常比较的是成员变量的值。

注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。

String toString()

返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。建议所有子类覆盖此方法。

如果一个对象未重写toString()方法,那么它将会调用父类的toString(),如果父类也没有重写这个方法,那么就迭代往上调用,直到Object的toString()方法。

在System.out.println()语句中,如果参数为对象,则默认调用对象的toString方法。

原文地址:https://www.cnblogs.com/shizunatsu/p/14361206.html