Object类
Object类的作用:
- 一个类要么默认继承了Object类,要么间接继承了Object类,Object类是Java中的祖宗类。
- Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类的方法。
toString方法
返回String类型
默认是返回当前对象在堆内存中的地址信息:类的全限名@内存地址
toString存在的意义
- 父类toString()方法存在的意义就是为了被子类重写,以便返回对象的内容信息,而不是地址信息!!
重写toString方法
@Override
public String tostring() {
return ………
}
可以直接用IDEA快捷键生成
equals方法
返回Boolean类型
默认是比较当前对象与另一个对象的地址是否相同,相同返回true,不同返回false
需要比较对象内容时
重写equals方法
@Override
public boolean equals(Object o) {
// 1、判断足否是同一个对象比较,如果是返回true。
if (this == o) return true;
// 2、如果o是null返回false,如果o不是同类型页返回false
if (o == null || this.getClass() != o.getClass()) return false;
//强制类型转换,把o从Object转为比较类型
Student student = (Student) o;
return this.sex==student.sex && this.age==student.age && Objects.equals(this.name,student.name)
Objects类
Objects类与Object还是继承关系,Objects类是从JDK 1.7开始之后才有的。
equals 方法
Objects的equals方法比较的结果是一样的,但是更安全。
普通的equals方法,如果某个对象的值是Null,写代码时不会报错,运行起来会有空指针错误,会留下隐患
Objects.equals方法比较两个对象的,底层会先进行非空判断,从而可以避免空指针异常。再进行equals比较
isNull方法
判断变量是否为null ,为null返回true,反之返回false