euqals-编写Emp(eno,ename,esex)类,要求重写equals方法结果为true

问题描述

编写Emp(eno,ename,esex)类,要求重写equals方法结果为true

编写Emp(eno,ename,esex)类,要求重写equals方法,编写测试类Test,实现当eno和esex相同时,两对象比较后的结果为true

解决方案

重写equals方法,判断两个方面,如果是同一个对象,返回true,如果是不同对象,并且这两个对象的这三个属性都相同的话,就可以返回true,其他情况就是不相等的。实例代码如下:

 public class Emp {
    private String eno;
    private String ename;
    private int esex;

    public Emp(String eno,String ename,int esex){
        this.eno = eno;
        this.ename = ename;
        this.esex = esex;
    }

    public String getEno() {
        return eno;
    }

    public String getEname() {
        return ename;
    }

    public int getEsex() {
        return esex;
    }

    @Override
    public boolean equals(Object obj) {
        if(this==obj){
            return true;
        }

        if(!(obj instanceof Emp)){
            return false;
        }

        Emp compare = (Emp)obj;
        return this.eno.equals(compare.getEno())
                &&this.ename.equals(compare.getEname())
                &&this.esex==compare.getEsex();
    }

    public static void main(String[] args) {
        Emp p1 = new Emp("01","wang",1);
        Emp p2 = new Emp("01","wang",1);
        System.out.println(p1.equals(p2));
    }
}

时间: 2024-09-24 01:03:40

euqals-编写Emp(eno,ename,esex)类,要求重写equals方法结果为true的相关文章

如何编写高质量equals方法

什么是equals方法 指示其他某个对象是否与此对象相等,equals方法存在Object类中,我们编写的类继承Object,可以覆盖Object的equals方法来实现我们的逻辑,去判断两个对象是否相等. Object类中的equals方法 一起来看看Object类中的源代码 public boolean equals(Object obj) { return (this == obj); } 我们可以观察到几点: equals方法是public修饰的,外部类是可以访问的 equals方法的返

python3 类的属性、方法、封装、继承及小实例

Python 类 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法. 对象可以包含任意数量和类型的数据. python类与c++类相似,提供了类的封装,继承.多继承,构造函数.析构函数. 在python3中,所有类最顶层父类都是object类,与java类似,如果定义类的时候没有写出父类,则object类就是其直接父类.  类定义 类定义语法格式如下: class ClassName:    <state

php编写的一个E-mail验证类

 这篇文章主要介绍了php编写的一个E-mail验证类的用法,非常的简单实用,需要的小伙伴参考下,可以直接拿走使用.     这个类可以用来检查电子邮件是否有效使用SMTP协议. 它可以连接到由地址的域名来验证的MX记录中定义的SMTP服务器. 并且模拟消息的传递,以查看是否在给定的收件人地址被接受为有效. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <!DOCTYPE HTML PUBLIC "-

java类的问题-java编程,有关类的继承,方法的覆盖等

问题描述 java编程,有关类的继承,方法的覆盖等 类Citizen,拥有identityCardNumber(String).name(String).gender(char).birthPlace(String).birthday(java.util.Date)属性,构造方法Citizen(String identityCardNumber, String name, char gender).Citizen(String identityCardNumber, String name, c

《编写高质量Python代码的59个有效方法》——第2条:遵循PEP 8风格指南

第2条:遵循PEP 8风格指南 <Python Enhancement Proposal #8>(8号Python增强提案)又叫PEP 8,它是针对Python代码格式而编订的风格指南.尽管可以在保证语法正确的前提下随意编写Python代码,但是,采用一致的风格来书写可以令代码更加易懂.更加易读.采用和其他Python程序员相同的风格来写代码,也可以使项目更利于多人协作.即便代码只会由你自己阅读,遵循这套风格也依然可以令后续的修改变得容易一些. PEP 8列出了许多细节,以描述如何撰写清晰的P

在JavaScript中调用Java类和接口的方法_javascript技巧

前言 本文中所有的代码使用 JavaScript 编写,但你也可以用其他兼容 JSR 223 的脚本语言.这些例子可作为脚本文件也可以在交互式 Shell 中一次运行一个语句的方式来运行.在 JavaScript 中访问对象的属性和方法的语法与 Java 语言相同. 本文包含如下几部分: 1.访问 Java 类 为了在 JavaScript 中访问原生类型或者引用 Java 类型,可以调用 Java.type() 函数,该函数根据传入的完整类名返回对应对象的类型.下面代码显示如何获取不同的对象类

HibernateTemplate类里面的flush方法抛出了异常,异常处理

问题描述 图1图2图1中,HibernateTemplate类里面的flush方法抛出了异常,图2中,调用它的时候却不会抛出异常各位大神,请问下这是做了什么处理啊? 解决方案 解决方案二:异常分为两种:一种是检查式异常就是我们写程序时必须try,catch,比如IOException另一种就是运行时异常,是可以不捕获的比如NullPonterException而DataAccessException就是RuntimeExcption的子类,也就是运行时异常!解决方案三:图2中调用的就是图1的fl

在派生类中对虚方法进行重载

先让我们回顾一下普通的方法重载.普通的方法重载指的是:类中两个以上的方法(包括隐藏的继承而来的方法),取的名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下应该调用哪个方法. 而对基类虚方法的重载是函数重载的另一种特殊形式.在派生类中重新定义此虚函数时,要求的是方法名称.返回值类型.参数表中的参数个数.类型.顺序都必须与基类中的虚函数完全一致.在派生类中声明对虚方法的重载,要求在声明中加上override关键字,而且不能有new,static或virtual修饰符. 还是让我

Thinkphp调用Image类生成缩略图的方法

 这篇文章主要介绍了Thinkphp调用Image类生成缩略图的方法,实例分析了Thinkphp调用Image类生成缩略图的使用原理与相关技巧,需要的朋友可以参考下     本文实例讲述了Thinkphp调用Image类生成缩略图的方法.分享给大家供大家参考.具体分析如下: Thinkphp的Image类 在ThinkPHP/Extend/Library/ORG/Util/Image.class.php中. 调用方法如下: ? 1 2 3 4 5 6 7 import("ORG.Util.Ima