• equals


    package abstractClasses;
    
    import java.time.LocalDate;
    
    /**
     * Created by xkfx on 2016/12/20.
     */
    public class Employee extends Person{
        private String name;
        private double salary;
        private LocalDate hireDay;
    
        public Employee(String name, double salary, int year, int month, int day){
            super(name);
            this.salary = salary;
            hireDay = LocalDate.of(year, month, day);
        }
    
        public double getSalary(){
            return salary;
        }
    
        public LocalDate getHireDay(){
            return hireDay;
        }
    
        public String getDescription(){
            return String.format("an employee with a salary of $%.2f", salary);
        }
    
        public void raiseSalary(double byPercent){
            double raise = salary * byPercent / 100;
            salary += raise;
        }
    
        public boolean equals(Object otherObject){
            if(this == otherObject)
                return true;
            // 指向同一个对象就什么事情都没有了。
            if(otherObject  == null)
                return false;
            // 所比较对象指向null也不用比了。
            if(this.getClass() != otherObject.getClass())
                return false;
            // 经以上比较可知,两个引用不指向同一个对象,并且两对象属于同类。
            Employee other = (Employee)otherObject;
            // 经过类型强制转化,才能能够访问otherObject对象具体类的实例域
    
            // 测试实例域是否相同
           return name.equals(other.name) && salary == other.salary && hireDay.equals(other.hireDay);
        }
    }
    package abstractClasses;
    
    /**
     * Created by xkfx on 2016/12/20.
     */
    public class Manager extends Employee{
        private double bonus;
    
        public Manager(String name){
            super(name, 0, 2016, 10, 19);
        }
    
        public boolean equals(Object otherObject){
            // 比较父类实例域是否相等
            if(!super.equals(otherObject))
                return false;
            // 比较子类实例域是否相等
            Manager other = (Manager)otherObject;
            return this.bonus == other.bonus;
        }
    }
  • 相关阅读:
    kindeditor 创建多个 取值方式
    新浪微博分享平台地址
    thinkphp 直接写SQL
    nginx下禁止目录运行php
    phpcms_v9 同步登陆的BUG
    yii framework 创建项目
    phpcms_v9 关闭debug
    ucenter忘记创始人密码简单解决方法
    XSS 常见手段
    如何在 C 中使用 64 位整数?
  • 原文地址:https://www.cnblogs.com/xkxf/p/6204701.html
Copyright © 2020-2023  润新知