重写父类Objcet的equals的方法

学生类定义与equals重写
本文介绍了一个简单的学生类定义,并重写了equals方法来比较学生的姓名、年龄和学号是否一致。通过示例展示了如何使用该方法进行学生对象间的比较。

学生类

package cn.Student;
//学生类
public class Student {
        private String name;
        private int age;
        private int  id;
        public Student() {
        }
        public Student(String name,int age,int id) {
            this.name = name;
            this.age = age;
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
                //重写equals()方法,如果学员学号、姓名都相同,证明是同一个学生
                //instanceof操作符用于判断一个引用类型所引用的对象是否是一个类的实例
        @Override
        public boolean equals(Object obj) {   //this 指的是当前对象
                if(this ==obj) {
                    return true;
                }
                if(!(obj instanceof Student)) {
                    return false;
                }
                Student k = (Student)obj;//强制类型转换 
                if(this.name.equals(k.name)&&this.age==k.age&&this.id==k.id) {
                    return true;
                }else {
                    return false;
                }
            
        }
        
        
}

测试类

package cn.Student;
import com.pangui.Dog;
public class Test {
        public static void main(String[] args) {
            Student t1 = new Student("老李",16,15901);
            Student t2 = new Student("老张",18,15955);
            Student t3 = new Student("老李",16,15901);
            Dog c = new Dog("豆豆",250 , -99,"哈士奇");
            System.out.println(t1.equals(t3));
            System.out.println(t1.equals(t2));
            System.out.println(t1.equals(c));
        }
        
}

 

转载于:https://www.cnblogs.com/lev1/p/11193396.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值