【Java题】实现继承和多态的例子

news2024/11/17 13:38:29

一:题目

1.员工类Employee:

(1)私有成员变量:姓名,年龄,工资

(2)提供无参,有参构造

(3)成员方法:work()方法——员工工作

2.程序员类Coder:

(1)继承Employee父类

(2)提供无参,有参构造

(3)成员方法:重写work()方法——姓名为张三,年龄为22,工资为15000的程序员正在编写代码

(4)自己独有的方法——发疯

3.测试类Test

二:提示

1.super://调用父类的构造方法

2.重写:子类根据需要实现父类的方法

三:代码

Employee.java

public class Employee {
    private String name;
    private int age;
    private double salary;

    protected Employee(){}

    protected Employee(String name, int age, double salary) {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
    public void work(){
        System.out.println("员工工作");
    }
}

Coder.java

public class Coder extends Employee {
    public Coder(){
    }
    public Coder(String name,int age,double salary){
        super(name, age, salary);//调用父类的构造方法
    }

    //重写work方法
    @Override
    public void work() {
        System.out.println(String.format("姓名为%s,年龄为%d,工资为%f的员工正在编写代码",
                getName(),getAge(),getSalary()));
    }

    public void crazy(){
        System.out.println(String.format("%s已经疯了",getName()));
    }
}

Test.java

public class Test {
    public static void main(String[] args) {
        Employee c = new Coder("小李",25, 7500);//向上转型
        work(c);
        special(c);
    }

    public static void work(Employee e){
        e.work();//运行时多态
    }

    public static void special(Employee e){
        if(e instanceof Coder){
            Coder coder=(Coder)e;//向下转型
            coder.crazy();
        }
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1118677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法|动态规划No.28】leetcode1312. 让字符串成为回文串的最少插入次数

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

lv8 嵌入式开发-网络编程开发 19 原始套接字

目录 1 链路层原始套接字用法 1.1 利用原始套接字实现类似wireshark的功能 1.2 利用原始套接字实现ping命令 2 网络层原始套接字用法 2.1 TCP原始套接字用法 1 链路层原始套接字用法 Linux中的原始套接字(Raw Socket)是一种高级套接字类型&#xff…

YOLOv5涨点必备!改进损失函数EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU

目录 一,改进损失函数的作用 二,具体实现 一,改进损失函数的作用 YOLOv5损失函数的作用是衡量预测框与真实框之间的差异,并根据这些差异来更新模型的参数。它帮助模型学习如何准确地检测和定位目标物体,从而提高检测…

【分类讨论】CF1747D

Problem - D - Codeforces 题意 思路 一看这个做法一定就是分类讨论 先判无解 显然,如果区间异或和不是0一定无解 如果区间内全是0,答案一定是0 之后怎么讨论 注意到需要讨论区间长度 如果长度是奇数,那么直接操作即可,答…

【PyTorch】深度学习实践 1. Overview

目录 人工智能概述 课程前置知识 人工智能 问题分类 推理类 预测类 算法分类 传统算法与智能算法 人工智能领域细分 学习系统的发展 基于规则的系统 经典机器学习算法 表示学习方法 维度诅咒 说明 解决方法 第一代 第二代(深度学习) 传统…

数据结构: 红黑树

目录​​​​​​​ 1.红黑树概念 2.红黑树性质 3.调整 1.如果p和u都是红色,将其都改为黑色即可,然后向上调整 2.如果p红(u黑/u不在),这时候左子树两红,于是给右子树一个红(旋转变色) 2.1…

华为ICT——第四章深度学习和积卷神经

接第三章的末尾: 目录 接第三章的末尾: 1:自适应阈值分割: 2:形态处理: 4:膨胀: 5:腐蚀 6:开运算 7:闭运算 8:特征描述子 9&#xf…

看《软能力》的读后感

最近在图书大夏看了一本书的一部分,书名是《软能力》。本人看到了几个有意思的观点。一是接一些兼职项目。 二是分享自己的技术,让同事能干自己的工作,让自己的工作变得别人也能干,才有机会让自己的职位提升。 三是让手动操作变…

Linux实战——网络连接模式的三种模式

Linux可以分为三种网络模式: 桥接模式 (vmnet0) 仅主机模式 (vmnet1) NAT模式 (vmnet8) 当我们下载了vmware之后,在电脑会出现两个虚拟网卡,VMware Network Adapter VMnet1、VMware Network Adapter VMnet8。 可以通过查找 控…

巡检管理系统哪一款简单实用?如何解决传统巡检难题,实现高效监管?

在电力、燃气、水务等公共服务领域,线路巡检工作是保障公众安全、避免事故发生的重要环节。然而,传统的巡检方式存在一些显著的问题,可能会对公共安全和稳定运行产生不利的影响。为了解决这些问题,需要一种能够实现高效、精准的线…

多线程环境下如何安全的使用线性表, 队列, 哈希表

小王学习录 今日鸡汤安全使用ArrayList安全使用队列安全使用HashMap 今日鸡汤 安全使用ArrayList 使用synchronized锁或者reentrantLock锁使用CopyOnWriteArrayList(COW写时拷贝)类来代替ArrayList类. 多个线程对CopyOnWriteArrayList里面的ArrayList进行读操作, 不会发生线程…

原子核内的相互作用

原子核内的相互作用 氘核基态 和态的混合 核子-核子散射 低能核子-核子散射 n-p散射:只有核力 p-p散射:较复杂 n-n散射:n-n散射没有直接实验 低能 p-p 散射和核力的电荷无关性 高能核子-核子散射 核力的主要性质 核力主要性质 核力是短程力…

Qt第六十五章:自定义菜单栏的隐藏、弹出

目录 一、效果图 二、qtDesigner 三、ui文件如下: 四、代码 一、效果图 二、qtDesigner 原理是利用属性动画来控制QFrame的minimumWidth属性。 ①先拖出相应的控件 ②布局一下 ③填上一些样式 相关QSS background-color: rgb(238, 242, 255); border:2px sol…

【uniapp/uView】解决消息提示框悬浮在下拉框之上

需要实现这样的效果&#xff0c;即 toast 消息提示框在 popup 下拉框之上&#xff1a; 解决方法&#xff0c;把 <u-toast ref"uToast" /> 放在 u-popup 里面即可&#xff0c;这样就可以提升 toast 的优先级&#xff1a; <!-- 弹出下拉框 --><u-popu…

第三章 内存管理 十二、请求分页管理方式

目录 一、页表机制 1、页表结构 二、缺页中断机制 1、有如下例子 2、根据要访问的逻辑地址的页号2&#xff0c;找到该页的状态是没有放入内存&#xff0c;所以会产生缺页中断&#xff0c;将缺页进程堵塞&#xff0c;放入堵塞队列&#xff0c;调页完成后再将其唤醒&#xf…

SAP MM学习笔记37 - 请求书照合中的配送费用

上一次学习了请求书照合中的 追加请求&#xff0c;追加Credit&#xff0c;请求书取消等知识&#xff0c;这一章来学习请求书中的配送费用处理。 SAP MM学习笔记37 - 请求书照合中的 追加请求/追加Credit 等概念/ 请求书的取消-CSDN博客 如下图所示&#xff0c;配送费用分以下两…

ROS功能包编译报错fatal error: xxxxConfig.h: 没有那个文件或目录的解决方法及原理介绍

在ROS中&#xff0c;我们常使用动态调参工具或参数配置文件来进行参数调节&#xff0c;在编译时会生成对应的Config.h文件&#xff0c;如本文例子中的MPCPlannerConfig.h文件 一、报错原因及解决方法 在编译时报以下错误的原因是在编译生成可执行文件mpc_ros的过程中需要使用MP…

【(数据结构)—— 基于单链表实现通讯录】

&#xff08;数据结构&#xff09;—— 基于单链表实现通讯录 一.通讯录的功能介绍1.基于单链表实现通讯录(1). 知识要求(2). 功能要求 二.通讯录的代码实现1.通讯录的底层结构(单链表)(1).思路展示(2).底层代码实现(单链表)1.单链表头文件 —— &#xff08;函数的定义&#x…

国旗升降系统程序及原理图资料

本文主要介绍国旗升降系统设计程序及原理图&#xff08;完整资料见文末链接&#xff09; 系统原理图如下&#xff0c;程序资料见文末 附完整资料链接 百度网盘链接: https://pan.baidu.com/s/1Q5J2J8LgVJ-hoeTSVP95_g?pwd3qkw 提取码: 3qkw