Object:是所有引用类型的顶级父类,系统都会默认使引用类型extends Object.
此类中提供了常用的方法:
1、toString():
在Object中,返回的是类全名@HashCode值,
即对象的内存堆中的位置信息
【类有类名和类全名之分:
类名:即最短的名称
类全名:从包名开始写的名称
如: String 是类名
java.lang.String是类全名
】
此方法会在输出变量时,或引用变量进行拼接时默认调用。
而查看地址信息,通常没有必要,我们通常要查看的是
对象的成员变量信息
因此我们都需要重写toString()方法,用于查看对象的详情
格式:
"[成员变量1="+成员变量1+",成员变量2="+成员变量2+"]"
2、equals(Object obj)
Object类型中的此方法中的逻辑是比较调用者this与形参obj的地址信息是否相等。
简单说成:比较this与obj是不是同一个对象
所以在定义类型时,继承过来的equals方法 我们要重写。
重写规则:
(1) 查看传进来的obj是不是null
if(obj==null){
return false;
}
(2): 查看传进来的obj是不是this.
if(obj==this){
return true;
}
(3) 查看穿进来的obj是不是本类型
if(obj.getClass()!=this.getClass()){
return false;
}
可以改成
if(!(obj instanceof Person)){
return false;
}
instanceof关键字:
作用是判断引用变量指向的对象是否属于某一类型
语法:boolean f = 变量名 instanceof 类型名