zoukankan      html  css  js  c++  java
  • 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;
        }
    }
  • 相关阅读:
    冒泡排序法
    选择排序法
    pyhanlp 停用词与用户自定义词典
    pyhanlp 分词与词性标注
    第八九章 正态分布与超越正态
    深入浅出统计学第七章 几何分布,二项分布,柏松分布
    深入浅出统计学 第六章 排列与组合
    深入浅出统计学 第四五章 离散概率的计算与分布
    R语言简介与案例
    深入浅出统计学 第二三章 量度
  • 原文地址:https://www.cnblogs.com/xkxf/p/6204701.html
Copyright © 2011-2022 走看看