继承、接口:
习题要求: 模拟给所有员工发工资。
* 定义员工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类。相关推荐

  1. Java学习笔记(四)——接口

    Java学习笔记(四)--接口 1.格式 2.接口的特点 3.接口举例 1.格式 接口:初期理解,可以认为是一个特殊的抽象类.当抽象类中的方法都是抽象的,那么该类 可以通过接口的方式来表示. clas ...

  2. 《Go语言圣经》学习笔记 第七章 接口

    <Go语言圣经>学习笔记 第七章 接口 目录 接口是合约 接口类型 实现接口的条件 flag.Value接口 接口值 sort.Interface接口 http.Handle接口 erro ...

  3. Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

  4. 使用Java接口模拟给员工发工资

    模拟给所有员工发工资. 思路: 1. 定义员工Employee类.包含属性:姓名,薪资,银行卡(保存工资). 2. 定义经理Manager类继承Employee类,包含属性:奖金. 3. 定义职员Cl ...

  5. JAVA学习笔记之抽象类与接口2020-3-22

    抽象类 先了解一下抽象类的概念. 一个完整的方法,是有: 1.方法声明 2.方法体 public void show(){方法体; } 而如果只包含方法声明,没有方法体,那么就称之为:抽象方法.(ab ...

  6. java怎么给类中的私有变量赋值_Java学习笔记分享 如何理解接口抽象类和关键字...

    不知不觉中,千锋重庆学习Java已经半个月了,同学们感觉受益匪浅.有一个同学本来是软件编程专业基础却是意外的差,什么标识符.变量的命名规则.方法的定义.数组.面向对象的封装.继承.多态,还有接口.抽象 ...

  7. Nodejs学习笔记(七)——接口API

    [目录] Nodejs学习笔记(一)--基础之全局对象.包和npm Nodejs学习笔记(二)--模块 Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(四)--http ...

  8. python 网络接口 开发_Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

  9. JAVA学习笔记(6)——接口与多态

    一.接口 1.   –与抽象类一样都是定义多个类的共同属性 –使抽象的概念更深入了一层,是一个"纯"抽象类,它只提供一种形式,并不提供实现 –允许创建者规定方法的基本形式:方法名. ...

最新文章

  1. keras 自定义评估函数和损失函数loss训练模型后加载模型出现ValueError: Unknown metric function:fbeta_score
  2. fenby C语言 P20
  3. OpenGL Overdraw Count透支数的实例
  4. C语言-输入一个正整数,输出它的所有质数因子
  5. 英特尔推出新CPU架构!3D封装打破摩尔定律限制,10nm芯片明年上市
  6. Java 并发 —— 从 BIO 到 NIO
  7. Java使用Spire.pdf提取PDF中想要的图片
  8. 最少拍控制算法MATLAB仿真,最少拍控制系统.doc
  9. html图片、背景音乐、滚动文字
  10. 猎豹傅盛:升维思考,降维攻击!(深度好文)
  11. 弱光图像增强(Low-light image enhancement)资料整理(更新中...)
  12. 将秒数转换为时分秒的c语言程序,秒数换算(c语言输入秒转化为时分秒)
  13. 数据库实验报告【学会使用企业管理器和查询分析器管理工具】
  14. CS144课程实验详解-lab0-第一部分
  15. WinRAR去广告(简体中文版)
  16. linux操作系统第二版张玲课后答案,Linux操作系统(基础原理与应用第2版高等学校计算机专业规划教材)...
  17. android第三方视频解码器Vitamio SDK使用后的感觉(2014.03.11)
  18. Extreme Table简介及使用
  19. java实现QQ登陆界面
  20. 了解MapleSim-Simulink 接口工具箱

热门文章

  1. 学习OpenCV的学习笔记系列(三)显示图片及视频
  2. 嵌入式linux下3G上网卡移植
  3. FPGA入门系列17--task
  4. nexus私库中的releases与snapshots区分
  5. Leetcode 414. 第三大的数(详解 C语言实现)
  6. 计算机不上电维修流程,电脑主板不加电的维修流程
  7. Div高度自适应内容高度之最简处理
  8. RH413企业安全加固 第15章 配置系统审计
  9. 网络分析仪log mag的含义
  10. react动态格栅(解决目录树DirectoryTree TreeNode 展开后界面错版问题)