Object(toString() equals(Object obj) instanceof关键字)

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 类型名

练习:
定义一个类型Point,
添加无参与全参构造器
添加计算到原点的距离方法
重载一个到另外一点的距离方法
重写toString与equals

   ==与equals()方法的区别???
   回去自己整理

猜你喜欢

转载自blog.csdn.net/dizi1802/article/details/81462990