longer5153458 于 2013.08.18 18:30 提问

``````import java.util.Date;
import java.util.GregorianCalendar;

public class Employee {
private String name;
private double salary;
private Date hireDay;
public Employee(String n,double s,int year,int month,int day ){
name = n;
salary = s;
GregorianCalendar calendar= new GregorianCalendar(year,month-1,day);
hireDay=calendar.getTime();
}
public void raiseSalary (double byPercent){
double raise = salary*byPercent/100;
salary += raise;
}
public Date getHireDay() {
return (Date)hireDay.clone();
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}

}

import java.util.Date;

public class EmployeeTest {
public static void main(String[] args) {
Employee [] staff =new Employee [3];
staff [0]= new Employee("Carl Cracker", 75000, 1987, 12, 15);
staff [1]= new Employee("Harry Hacker", 50000, 1989, 10, 1);
staff [2]= new Employee("Tony Tester", 40000, 1990, 3, 15);

for(Employee e:staff)
e.raiseSalary(5);

for(Employee e:staff)
System.out.println("name="+e.getName()+",salary="+e.getSalary()
+",hireDay="+e.getHireDay());

Employee harry=new Employee("harry",50000,1989,10,1);
Date d=harry.getHireDay();
double tenYearsInMilliSeconds=10*365.25*24*60*60*1000;
d.setTime(d.getTime()-(long)tenYearsInMilliSeconds);

System.out.println("name="+harry.getName()+",salary="+harry.getSalary()
+",hireDay="+harry.getHireDay());

}
}
``````

1个回答

caikangying   2017.08.28 16:37

public Date getHireDay() {
return (Date)hireDay.clone();
}