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;
} }