Object类中4个常用的方法一:equals()方法

1、相等与同一
如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等。如果两个引用(地址)对象指的是同一个对象,则称这两个变量同一。Object类中定义的equals 函数原型为:public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等。

2、equals方法
由于Object 类是所有类的最高基类,所有其他类都继承类Object类的equals()方法,定义原型如下:
public boolean equals(Object obj){
this == obj;
}

在java中 “==” 是判断两个对象是否同一,而不是判断相等。因此Object类中的equals方法也是判断两个对象是否同一。要判断两个对象是否相等,就需要重写equals()方法。

3、equals()方法的重写
class Person{
public String name;
public int age;

public Person(String name, int age){
    this.name = name;
    this.age = age;
}
 
@Override//重写
public boolean equals(Object obj){
    if(!(obj   instanceof   Person)) {
        return false;
    }
    Person p = (Person)x;//体现了多态的思想,equals系统中的形参类型是Object
    return (this.name == p.name) &&
            (this.age == p.age);
}

}

public class Test{
public static void main(String [] args){
Person p1 = new Person("Lily",23);
Person p2 = new Person("Lily",23);
System.out.println(p1.equals(p2));
}
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,924评论 0 62
  • 这个模板是在公司项目中使用的,可根据情况自行修改meta标签。
    前端_逗叔阅读 4,464评论 0 0
  • 2014年,那个男孩闯入了我的世界。因为他不好好学习,本来在珍珠班的他被刷到我们重点班。当时,他刚进我们班时...
    凉小萌阅读 1,443评论 0 2
  • 菡萏新开香正好。 点水蜻蜓,时刻莲池绕。 褪去浅寒春意闹。 清风处处怜芳草。 惆怅萦怀何处道。 欲问荷花,又恐荷花...
    尘埃落定1阅读 1,683评论 13 22