抽象类练习

来源:互联网 发布:mysql分布式事务 编辑:程序博客网 时间:2024/05/17 08:58
package project1;public abstract class Employee {public abstract double earnings();}package project1;public class MonthWorkers extends Employee {@Overridepublic double earnings() {// TODO Auto-generated method stubreturn 9000*12;}}package project1;public class WeekWorkers extends Employee {@Overridepublic double earnings() {// TODO Auto-generated method stubreturn 2000*45;}}package project1;public class YearWorkers extends Employee {public double earnings() {return 10000;}}package project1;public class Company {Employee[] employee;double salay = 0;Company(Employee[] employee){//构造函数this.employee = employee;}public double salayPay(){//计算总得工资salay = 0;for(int i=0;i<employee.length;i++){salay = salay+employee[i].earnings();}return salay;}}package project1;public class HardWork {public static void main(String[] args) {// TODO Auto-generated method stubint a = 10,b = 56,c = 341,total = 0;total = a+b+c;//分配三种工资各自的人数System.out.println("公司总雇员数:"+total);Employee[] employee = new Employee[total];Company company = new Company(employee);for(int i=0;i<a;i++){employee[i] = new YearWorkers();}for(int i=a;i<a+b;i++){employee[i] = new MonthWorkers();}for(int i=a+b;i<a+b+c;i++){employee[i] = new WeekWorkers();}System.out.println("公司总薪水总额为:"+company.salayPay());}}