学习笔记,初学者对继承、接口的习题练习: 模拟给所有员工发工资定义员工Employee类,经理Manager类继承Employee类,职员Clerk类继承Employee类。
继承、接口:
习题要求: 模拟给所有员工发工资。
* 定义员工Employee类,经理Manager类继承Employee类,职员Clerk类继承Employee类。
* 定义Money接口,定义公司Company类实现Money接口。
* 下表为输出发放薪资结果,据题要求设计代码。
=== 期初薪资===小明的薪资:8000 | 银行卡余额:0小亮的薪资:6000 | 银行卡余额:0=== 第一个月===小明的薪资:8000 | 银行卡余额:8500小亮的薪资:6000 | 银行卡余额:6000=== 第二个月===小明的薪资:8000 | 银行卡余额:17000小亮的薪资:6000 | 银行卡余额:12000=== 第三个月===小明的薪资:8000 | 银行卡余额:25500小亮的薪资:6000 | 银行卡余额:18000思路:1. 定义员工Employee类。包含属性:姓名,薪资,银行卡余额(保存工资)。2. 定义经理Manager类继承Employee类,包含属性:奖金。3. 定义职员Clerk类继承Employee类。4. 定义Money接口,提供抽象方法salary。5. 定义公司Company类,实现Money接口。6. 定义测试类,创建类对象,调用公司salary方法,给经理和职员发工资。
定义员工Employee类
构造方法根据需求可创建多个
public class Employee {String name;double pay;double cardpay;public Employee() {super();}public Employee(String name) {this.name = name;}public Employee(String name, double pay, double cardpay) {this.name = name;this.pay = pay;this.cardpay = cardpay;}
}
定义经理Manager类继承Employee类
根据题目需求,经理Manager类的薪资属性pay和奖金addpay为固定值,定义为静态 最终属性。
class Manager extends Employee {static final double pay=8000;static final double addpay=500;static double cardpay1=0;public Manager() {super();}public Manager(String name) {this.name = name;}
}
定义职员Clerk类继承Employee类
class Clerk extends Employee {static final double pay=6000;static double cardpay2=0;public Clerk() {super();}public Clerk(String name) {this.name = name;}
}
定义Money接口,提供抽象方法salary
public interface MoneyInterface {public void salary();
}
定义公司Company类,实现Money接口
给属性赋值,定义salary薪资发放方法。
class Company implements MoneyInterface {@Overridepublic void salary() {Manager role1 = new Manager("刘德华");role3.cardpay1=role1.pay+role1.addpay+role1.cardpay1;System.out.println(role1.name+"的薪资是:"+role1.pay+"\t卡余额是"+role1.cardpay1);Clerk role2 = new Clerk("郭富城");role4.cardpay2=role2.pay+role2.cardpay2;System.out.println(role2.name+"的薪资是:"+role2.pay+"\t卡余额是"+role2.cardpay2);}}
定义测试类,创建类对象,调用公司salary方法,给经理和职员发工资
可以加入一个循环,输入月份输出对应月份薪资表
public static void main(String[] args) {Company company =new Company();Scanner sc =new Scanner(System.in);do {System.out.println("请输入一个月份:");int x = sc.nextInt();int n = 1;while (n <= x) {company.salary();System.out.println("=======第"+n+"个月=========\n");n++;}} while (true);}
继承,接口练习习题。欢迎借鉴及提出指正━(`∀´)ノ亻!
学习笔记,初学者对继承、接口的习题练习: 模拟给所有员工发工资定义员工Employee类,经理Manager类继承Employee类,职员Clerk类继承Employee类。相关推荐
- Java学习笔记(四)——接口
Java学习笔记(四)--接口 1.格式 2.接口的特点 3.接口举例 1.格式 接口:初期理解,可以认为是一个特殊的抽象类.当抽象类中的方法都是抽象的,那么该类 可以通过接口的方式来表示. clas ...
- 《Go语言圣经》学习笔记 第七章 接口
<Go语言圣经>学习笔记 第七章 接口 目录 接口是合约 接口类型 实现接口的条件 flag.Value接口 接口值 sort.Interface接口 http.Handle接口 erro ...
- Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...
1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...
- 使用Java接口模拟给员工发工资
模拟给所有员工发工资. 思路: 1. 定义员工Employee类.包含属性:姓名,薪资,银行卡(保存工资). 2. 定义经理Manager类继承Employee类,包含属性:奖金. 3. 定义职员Cl ...
- JAVA学习笔记之抽象类与接口2020-3-22
抽象类 先了解一下抽象类的概念. 一个完整的方法,是有: 1.方法声明 2.方法体 public void show(){方法体; } 而如果只包含方法声明,没有方法体,那么就称之为:抽象方法.(ab ...
- java怎么给类中的私有变量赋值_Java学习笔记分享 如何理解接口抽象类和关键字...
不知不觉中,千锋重庆学习Java已经半个月了,同学们感觉受益匪浅.有一个同学本来是软件编程专业基础却是意外的差,什么标识符.变量的命名规则.方法的定义.数组.面向对象的封装.继承.多态,还有接口.抽象 ...
- Nodejs学习笔记(七)——接口API
[目录] Nodejs学习笔记(一)--基础之全局对象.包和npm Nodejs学习笔记(二)--模块 Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(四)--http ...
- python 网络接口 开发_Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...
1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...
- JAVA学习笔记(6)——接口与多态
一.接口 1. –与抽象类一样都是定义多个类的共同属性 –使抽象的概念更深入了一层,是一个"纯"抽象类,它只提供一种形式,并不提供实现 –允许创建者规定方法的基本形式:方法名. ...
最新文章
- keras 自定义评估函数和损失函数loss训练模型后加载模型出现ValueError: Unknown metric function:fbeta_score
- fenby C语言 P20
- OpenGL Overdraw Count透支数的实例
- C语言-输入一个正整数,输出它的所有质数因子
- 英特尔推出新CPU架构!3D封装打破摩尔定律限制,10nm芯片明年上市
- Java 并发 —— 从 BIO 到 NIO
- Java使用Spire.pdf提取PDF中想要的图片
- 最少拍控制算法MATLAB仿真,最少拍控制系统.doc
- html图片、背景音乐、滚动文字
- 猎豹傅盛:升维思考,降维攻击!(深度好文)
- 弱光图像增强(Low-light image enhancement)资料整理(更新中...)
- 将秒数转换为时分秒的c语言程序,秒数换算(c语言输入秒转化为时分秒)
- 数据库实验报告【学会使用企业管理器和查询分析器管理工具】
- CS144课程实验详解-lab0-第一部分
- WinRAR去广告(简体中文版)
- linux操作系统第二版张玲课后答案,Linux操作系统(基础原理与应用第2版高等学校计算机专业规划教材)...
- android第三方视频解码器Vitamio SDK使用后的感觉(2014.03.11)
- Extreme Table简介及使用
- java实现QQ登陆界面
- 了解MapleSim-Simulink 接口工具箱