【java学习】第六天(作业2)
第五题

package com.quange.homework; public class Homework05 { public static void main(String[] args) { Worker worker = new Worker("tom", 3000); worker.wages(); Peasant mary = new Peasant("mary", 3500); mary.wages(); Waiter waiter = new Waiter("jerk", 4000); waiter.wages(); Teacher teacher = new Teacher("hanlaoshi", 6000); // 每天的课酬 teacher.setClassPay(40); // 多少天 teacher.setDay(30); teacher.wages(); Scientist scientist = new Scientist("老韩",20000); // 科学家的年终奖 scientist.setBonus(20000); scientist.wages(); } //父类 员工类 static class Staff{ private String name; private double wage; public Staff(String name, double wage) { this.name = name; this.wage = wage; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getWage() { return wage; } public void setWage(double wage) { this.wage = wage; } // 工资方法 public void wages(){ System.out.println("姓名:" + name + "全年工资为:" + wage*12); } } // 子类 工人类 static class Worker extends Staff{ public Worker(String name, double wage) { super(name, wage); } @Override public void wages() { System.out.println("2022年工人全年的工资:"); super.wages(); } } // 子类 农民类 static class Peasant extends Staff{ public Peasant(String name, double wage) { super(name, wage); } @Override public void wages() { System.out.println("2022年农民全年的工资为:"); super.wages(); } } // 子类 服务生类 static class Waiter extends Staff{ public Waiter(String name, double wage) { super(name, wage); } @Override public void wages() { System.out.println("2022年服务生全年的工资为:"); super.wages(); } } // 子类 教师类 static class Teacher extends Staff{ // 课酬 private double classPay; // 天数 private int day; public Teacher(String name, double wage) { super(name, wage); } public double getClassPay() { return classPay; } public void setClassPay(double classPay) { this.classPay = classPay; } public int getDay() { return day; } public void setDay(int day) { this.day = day; } @Override public void wages() { System.out.println("2022年教师的全年工资为:"); System.out.println("姓名:" + getName() + "工资为:" + (getWage()*12 + classPay*day)); } } // 子类 科学家类 static class Scientist extends Staff{ // 年终奖 private double bonus; public Scientist(String name, double wage) { super(name, wage); } public double getBonus() { return bonus; } public void setBonus(double bonus) { this.bonus = bonus; } @Override public void wages() { System.out.println("2022年科学教全年的工资为:"); System.out.println("姓名: " + getName() + "工资为:" + (getWage()*12 + bonus)); } } }输出
2022年工人全年的工资: 姓名:tom全年工资为:36000.0 2022年农民全年的工资为: 姓名:mary全年工资为:42000.0 2022年服务生全年的工资为: 姓名:jerk全年工资为:48000.0 2022年教师的全年工资为: 姓名:hanlaoshi工资为:73200.0 2022年科学教全年的工资为: 姓名: 老韩工资为:260000.0 进程已结束,退出代码0
许可协议:
CC BY 4.0