Java 设计员工类Employee
每一个员工都有姓名(name)和每月的基本工资(salary)属性,有可以计算出全年收入的方法,假设现有教(Teacher),科学家(Scientist)2种员工类型.教师除基本工资外,还有课酬(元/天),科学家除基本工资外,还有年终奖,请你写出相关类,将各种类型的员工的全年收入打印出来。
父类:
public class Employee {
private String name;
private int salary; //每月工资
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public Employee() {
super();
// TODO Auto-generated constructor stub
}
public Employee(String name, int salary) {
super();
this.name = name;
this.salary = salary;
}
public double annual() {
return salary*12;
}}
子类1:
public class Teacher extends Employee{
private int dollars; //日酬
public int getDollars() {
return dollars;
}
public void setDollars(int dollars) {
this.dollars = dollars;
}
public Teacher() {
super();
// TODO Auto-generated constructor stub
}
public Teacher(String name, int salary,int dollars) {
super(name, salary);
this.dollars=dollars;
// TODO Auto-generated constructor stub
}
@Override
public double annual() {
// TODO Auto-generated method stub
return super.annual()+dollars*365;
}
}
子类2:
public class Scientist extends Employee{
private int bonus; //年终奖
public int getBonus() {
return bonus;
}
public void setBonus(int bonus) {
this.bonus = bonus;
}
public Scientist() {
super();
// TODO Auto-generated constructor stub
}
public Scientist(String name, int salary,int bonus) {
super(name, salary);
this.bonus=bonus;
// TODO Auto-generated constructor stub
}
@Override
public double annual() {
// TODO Auto-generated method stub
return super.annual()+bonus;
}}
测试类:
public class EmployeeTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Teacher teacher=new Teacher("Tom", 10000, 100);
System.out.println("教师总收入为:"+teacher.annual());
Teacher teacher2=new Teacher();
teacher2.setDollars(100);
teacher2.setSalary(10000);
teacher2.setName("Tom");
System.out.println("教师总收入为:"+teacher.annual());
Scientist scientist=new Scientist("Jim", 63000, 200000);
System.out.println("科学家总收入为:"+scientist.annual());
Scientist scientist2=new Scientist();
scientist2.setName("Jim");
scientist2.setSalary(63000);
scientist2.setBonus(200000);
System.out.println("科学家总收入为:"+scientist.annual());
}}
运行结果:
教师总收入为:156500.0
教师总收入为:156500.0
科学家总收入为:956000.0
科学家总收入为:956000.0