java基础 Day05 内部类、Object类、匿名内部类;方法的覆写;抽象类和接口

本教程通过设计一个工资管理系统介绍Java中的内部类和Object类应用,讲解了如何处理不同类型的雇员(如合同工、小时工)的工资计算。此外,还讨论了方法的覆写,通过Addition类展示了重载方法的实现。同时,通过Vehicle类介绍了抽象类的概念,并结合Car和Motorbike子类展示了继承和抽象方法的使用。进一步,探讨了接口的应用,设计了一个纯净水生产线的抽象模型,展示了多个类如何实现不同接口来完成特定任务。
摘要由CSDN通过智能技术生成

1. 设计一个工资管理系统,针对两种雇员的工资进行管理:长期合同工、短期小时工;

合同工的工资按月发放,小时工的工资为每小时工资乘以工作小时数;都是月底结算;
如果当月为雇员生日所在月,则当月加发200元的贺金;

建立一个雇员父类Employee,两种雇员类继承Employee类; 利用循环结构,输出各个雇员对象的工资;
(扩展功能,不必须实现:如果是合同工,则给该员工每月加发当月所有人基本工资和的千分之五做为红利;)

构造方法:
Employee(String name, String employeeId, int year, int month, int day)
SalariedEmployee(String name, String employeeId, int year, int month, int day, double salary)
HourlyEmployee(String name, String employeeId, int year, int month, int day, double wage, double hours)

最后创建一个测试类SalaryManagement,使用前面的三个类,输出下面四个雇员的相关信息;再单独输出每个雇员的类型; 雇员如下:
合同工张三,员工号:111-11-1111,生日:1975年2月5日,工资:2000.00
合同工李四,员工号:222-22-2222,生日:1978年11月25日,工资:2222.00
小时工王五,员工号:333-33-3333,生日:1974年6月24日,每小时工资:20.00, 工作了120小时
小时工赵六,员工号:444-44-4444,生日:1975年8月9日,每小时工资:30.00, 工作了56小时
假设当月为2月份;

Demo01.java

package com.ly.demo05;

import java.util.Scanner;
abstract class Employee{
   
   public String name;
   public String employeeId;
   public int year; 
   public int month;
   public int day;
   public static double allSalary=0.0;//总薪资
   public Employee(String name, String employeeId, int year, int month, int day) {
   
   	super();
   	this.name = name;
   	this.employeeId = employeeId;
   	this.year = year;
   	this.month = month;
   	this.day = day;
   }
   
   
   public String getName() {
   
   	return name;
   }

   public int getMonth() {
   
   	return month;
   }
   
   //获取工资
   public abstract void getSalary(int i);
   
}
class SalariedEmployee extends Employee{
   
   public double salary;
   public SalariedEmployee(String name, String employeeId, int year, int month, int day,double salary) {
   
   	super(name, employeeId, year, month, day);
   	this.salary =salary;
   	allSalary += salary; 
   }
   //合同工第几个月的收入
   public void getSalary(int m){
   
   	
   	if(m == month
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值