当前位置: 首页 > news >正文

JAVA中的多态参数

1.方法定义的参数类型为父类类型,实参类型允许为子类类型

public class Ploy_parameter {public static void main(String[] args) {Manage jack = new Manage("jack",12000,3000);Staff tom = new Staff("tom",10000);Ploy_parameter ploy_parameter = new Ploy_parameter();ploy_parameter.showEmpAninal(jack);ploy_parameter.showEmpAninal(tom);ploy_parameter.testWork(jack);ploy_parameter.testWork(tom);}public void showEmpAninal(Employee e){System.out.println(e.getAnnual());}public void testWork(Employee e){if(e instanceof Staff){((Staff) e).work();}else if(e instanceof Manage){((Manage) e).manage();}else{System.out.println("员工不存在");}}
}
class Employee{private String name;private double salary;public Employee(String name, double salary) {this.name = name;this.salary = salary;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}public double getAnnual(){return salary * 12;}
}
class Manage extends Employee{private double bonus;public Manage(String name, double salary, double bonus) {super(name, salary);this.bonus = bonus;}public double getBonus() {return bonus;}public void setBonus(double bonus) {this.bonus = bonus;}public void manage(){System.out.println("经理" + getName() + "正在管理中");}public double getAnnual(){return super.getAnnual() + bonus;}
}
class Staff extends Employee{public Staff(String name, double salary) {super(name, salary);}public void work(){System.out.println("员工" + super.getName() + "正在工作中");}public double getAnnual(){return super.getAnnual();}
}

http://www.lryc.cn/news/293719.html

相关文章:

  • Ubuntu Linux 下安装和卸载cmake 3.28.2版本
  • 【C++】类和对象3:默认成员函数之析构函数
  • 2024美赛C题完整解题教程及代码 网球运动的势头
  • 二、人工智能之提示工程(Prompt Engineering)
  • 【leetcode题解C++】98.验证二叉搜索树 and 701.二叉搜索树中的插入操作
  • 【Vue.js设计与实现】第二篇:响应系统-阅读笔记(持续更新)
  • 微信小程序之本地生活案例的实现
  • 智能决策的艺术:探索商业分析的最佳工具和方法
  • C#(C Sharp)学习笔记_前言及Visual Studio Code配置C#运行环境【一】
  • 政安晨的AI笔记——Bard大模型最新提示词创作绘画分析
  • 基础算法bfs -剪枝问题
  • 在Meteor Lake上测试基于Stable Diffusion的AI应用
  • 情人节心动礼物:共度情人节美好时刻的礼物推荐
  • 远程手机搭建Termux环境,并通过ssh连接Termux
  • 基于EdgeWorkers的边缘应用如何进行单元测试?
  • 【linux】校招中的“熟悉linux操作系统”一般是指达到什么程度?
  • 【CSS系列】常用容易忽略的css
  • Java 数据结构 二叉树(二)红黑树
  • React18-完成弹窗封装
  • 蓝桥杯2024/1/31-----底层测试模板
  • 蓝桥杯备战(AcWing算法基础课)-高精度-乘-低精度
  • C++设计模式-里氏替换原则
  • compose LazyColumn + items没有自动刷新问题
  • Java八大常用排序算法
  • 编程笔记 html5cssjs 075 Javascript 常量和变量
  • 题目 1159: 偶数求和
  • 呼吸灯--FPGA
  • MySQL数据库①_MySQL入门(概念+使用)
  • 虚幻UE 特效-Niagara特效实战-魔法阵
  • Qt多语言翻译