方法的覆盖
import java.util.*;
/*
*员工类
*/
public class Employee{
private String name; //员工姓名
private Date hireDay; //工作时长
private double salary; //薪水
public Employee(String name,int year,int month ,int day ,double salary){
this.name=name;
this.salary=salary;
GregorianCalendar calendar =new GregorianCalendar(year,month-1,day);
hireDay =calendar.getTime();
}
public String getName(){
return name;
}
public double getSalary(){
return salary;
}
public Date getHireDay(){
return hireDay;
}
protected void setSalary(double salary){
this.salary=salary;
}
public void setSalary(double byPercent){
double raise =salary*byPercent/100;
salary+=raise;
}
public static void main(String [] agrs){
{
Manager boos=new Manager("Lakelau",1997,2,14,2000,5000);
double boosSalary =boos.getSalary();
String name =boos.getName();
System.out.println(name+"薪水:"+boosSalary);
}
{
Employee accountant =new Employee("mike",2003,5,28,10000);
double accountantSalary=accountant.getSalary();
String name =accountant.getName();
System.out.pringln(name+"薪水:"+accountantSalary);
}
}
}
/**
* 管理者类
*/
classManager extends Employee{
private double bonus;
public Manager(String name,int year,int month,int day,double salary,double bonus){
super(name,year,month,day,salary); //调用父类的方法
this.bonus =bonus; //设置奖金
}
public void setBonus(double salary){
this.bonus =bonus;
}
public void changeSalary(double salary){
setSalary(salary);
}
/*
*覆盖父类的getSalary方法
*/
public double getSalary(){
return super.getSalary()+bonus; //返回基本薪金和奖金的总和
}
}