定义私有属性: *String name; * int age; * String gender; * int salary; Date hiredate;//入职时间

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 定义私有属性:
 * String name;
 * int age;
 * String gender;
 * int salary;
 * Date hiredate;//入职时间
 * 
 * 定义构造方法,以及属性get,set方法.
 * 定义toString方法,格式如:
 *    姓名:张三,年龄:25,性别:男,薪资:5000,入职时间:2006-02-15
 * 
 * 定义equals方法,要求名字以及年龄相同,则认为内容一致。
 * 
 * 实现Comparable接口,并重写抽象方法comparaTo(),比较规则为年龄小的人小。
 * @author Xiloer
 *
 */
public class Emp implements Comparable{
    private String name;
    private int age;
    private String gender;
    private int salary;
    private Date hiredate;
    
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    public  Emp(String name, int age, String gender, int salary, Date hiredate) {
        // TODO Auto-generated method stub
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.salary = salary;
        this.hiredate = hiredate;
        
    }
    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 String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public int getSalary() {
        return salary;
    }
    public void setSalary(int salary) {
        this.salary = salary;
    }
    public Date getHiredate() {
        return hiredate;
    }
    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }
    @Override
    public boolean equals(Object obj) {        
        if(obj instanceof Emp) {
            Emp emp = (Emp) obj;
            Emp emp1 = (Emp) obj;
            return name.equals(emp.name) && age==emp1.age;
        }
        return false;
    }
    @Override
    public String toString() {
        return "姓名:"+name+",年龄:"+age+",性别:"+gender+",薪资:"+salary+",入职时间:"+sdf.format(hiredate);
                
    }
    /*对于返回值,如果调用compareTo()方法的对象等于参数,则返回0,
     *如果大于参数,则返回一个大于0的值,
     *如果小于参数,则返回一个小于0的值
    */
    @Override
    public int compareTo(Object o) {
        Emp e = (Emp) o;
        if(age>e.age) return 1;
        if(age<e.age) return -1;
        return 0;
    }
    
    
}

 

上一篇:python类的__slots__方法


下一篇:c#笔记 冒泡排序·6.0