Object

一个类要么是默认继承Object,要么间接继承Object,Object是祖宗类
Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类

Object类中的常见方法

toString()

默认返回当前对象在堆内存中的地址信息:类的全限名@内存地址
image.png

问题引出

开发中直接输出对象,默认输出对象的地址毫无意义
开发中输出对象变量,更多的时候是希望看到对象的内容数据而不是对象的地址信息

toString存在的意义

父类toString方法存在的目的是为了被子类重写,以便返回对象的内容信息,而不是地址信息

equals()

默认比较的是当前对象与另一对象的地址是否相同,同:true,不同:flase

equals存在的意义

直接比较两个对象的地址是否相同可以用 == 号就可以了,没有必要用equals
父类equals方法存在的目的是为了被子类重写,以便比较对象里面的内容信息,而不是地址信息

Objects

Objects是Object的子类,Objects类从JDK1.7开始才有的
Objects的equals与String的equals的方法比较的结果是一样的,但是更安全(一般用这个)
String中的equals a.equals(b); 如果a为NULL会报错,而Objects的equals方法会做空判断