Object
一个类要么是默认继承Object,要么间接继承Object,Object是祖宗类
Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类
Object类中的常见方法
toString()
问题引出
开发中直接输出对象,默认输出对象的地址毫无意义
开发中输出对象变量,更多的时候是希望看到对象的内容数据而不是对象的地址信息
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方法会做空判断