多态数组的简单代码教学

2023-11-13

多态数组的简单代码教学

package com.hspedu.polrArr;

public class PloyArray {
    public static void main(String[] args) {
        Person[] persons = new Person[5];

        persons[0] = new Person("jack", 20);
        persons[1] = new Student("smith", 21,100);
        persons[2] = new Student("alan",22,60);
        persons[3] = new Teacher("王老师" ,40,2000);
        persons[4] = new Teacher("李老师",45,2500);

        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i].say());
            if (persons[i] instanceof Student){
                ((Student)persons[i]).study();
            } else if (persons[i] instanceof Teacher){
                ((Teacher)persons[i]).teach();
            } else {
                System.out.println("父类Person");
            }
        }
    }
}
package com.hspedu.polrArr;

public class PloyArray {
    public static void main(String[] args) {
        Person[] persons = new Person[5];

        persons[0] = new Person("jack", 20);
        persons[1] = new Student("smith", 21,100);
        persons[2] = new Student("alan",22,60);
        persons[3] = new Teacher("王老师" ,40,2000);
        persons[4] = new Teacher("李老师",45,2500);

        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i].say());
            if (persons[i] instanceof Student){
                ((Student)persons[i]).study();
            } else if (persons[i] instanceof Teacher){
                ((Teacher)persons[i]).teach();
            } else {
                System.out.println("父类Person");
            }
        }
    }
}
package com.hspedu.polrArr;

public class Person {
    private String name;
    private int age;

    public Person(String person, int age) {
        this.name = person;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    public String say() {
        return "姓名 " + name + " 年龄 " + age;
    }
}
package com.hspedu.polrArr;

import com.sun.org.apache.regexp.internal.RE;

public class Student extends Person{
    private double score;

    public Student(String person, int age, double score) {
        super(person, age);
        this.score = score;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }
    public String say(){
        return super.say() + " 成绩 " + score;
    }
    public void study() {
        System.out.println("学生" + getName() + "正在学习中....");
    }
}
package com.hspedu.polrArr;

public class Teacher extends Person {
    private double salary;

    public Teacher(String person, int age, double salary) {
        super(person, age);
        this.salary = salary;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
    public String say(){
        return super.say() + " 薪水 " + salary;
    }
    public void teach(){
        System.out.println("老师" + getName() + "正在授课....");
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多态数组的简单代码教学 的相关文章

  • HTML5语音合成功能

    这篇文章主要介绍了HTML5语音合成功能的实现代码 本文通过实例代码给大家介绍的非常详细 具有一定的参考借鉴价值 需要的朋友参考下吧 可将该代码复制到chrome控制台中体验 let msg new SpeechSynthesisUtter
  • this和super

    this this总是置于当前对象的成员类作区分 this是当前对象的引用 就是说当前用构造函数建的对象是谁 这个this就代表谁 它是一个引用 this 总是指向自己本事 super 子类在重写了父类的方法后 常常还需要使用到父类中被重写
  • do while循环语句的学习以及练习

    今天学的是do while循环语句 先执行循环体 直到条件的表达式为false 与while循环语句的区别 while语句先判断条件 满足时执行循环体 do while语句先执行循环体 满足条件在执行 语法 do 循环体 while 条件

随机推荐

  • kinova-jaco2使用Moveit!控制真实机械臂抓取固定点物体

    kinova jaco2使用Moveit 控制真实机械臂抓取固定点物体 一 机械臂坐标系 坐标系方向 位姿方向 轴的起始点 二 启动机械臂和Moveit 三 实现抓取 python代码 python文件建议直接用python启动 四 遇到的
  • react hook之useMemo

    useMemo的作用 Pass a create function and an array of dependencies useMemo will only recompute the memoized value when one o
  • LogisticRegression(逻辑回归)

    LogisticRegression定义 logistic回归 是一种广义的线性回归分析模型 常用于数据挖掘 疾病自动诊断 经济预测等领域 例如 探讨引发疾病的危险因素 并根据危险因素预测疾病发生的概率等 以胃癌病情分析为例 选择两组人群
  • SVG转为Png

    1 pom中引入maven依赖
  • 自定义实现OAuth2.0 授权码模式

    文章目录 OAuth2 0 授权码模式 实践 依赖知识 术语 授权码流程 认证服务器 拉起请求用户授权页面 用户手动授权 提交授权 生成code 下发Token 第三方应用 收到code并请求Token 访问受保护的资源 项目结构 Tomc
  • 类EMD的“信号分解方法”及MATLAB实现(第四篇)——VMD

    重头戏来了 在以往的应用经验里 VMD方法在众多模态分解方法中可以说是非常好的 从催更力度上看 这个方法也是格外受关注 笔者决定加快进度快一些写完这个方法 十月份了有些同学要开始做毕设 希望这篇文能帮上忙 1 VMD 变分模态分解 的概念
  • poj1338【丑数·DP】

    我记得这道题以前写过 而且是写出来了 DP吧 然后现在想了好久 没想出来 然后考虑一下递推 mdzz 直接就是让之前的这个每次乘以2 3 5就好了嘛 然后每轮取最小 include
  • jquery form表单.serialize()序列化后中文乱码问题原因及解决decodeURIComponent

    jquery form表单 serialize 序列化后中文乱码问题原因及解决 原因 serialize 自动调用了encodeURIComponent方法将数据编码了 解决方法 调用decodeURIComponent XXX true
  • 列表list转树形结构(python/golang/js/php)

    文章目录 1 原数据 2 利用对象内存共享生成嵌套结构 2 1 算法原理 2 2 算法实现 2 2 1 JS 2 2 2 Python 2 2 3 go 2 2 4 php 2 3 运行结果 3 递归 3 1 算法实现 3 1 1 pyth
  • 基于协同过滤算法的书籍推荐 毕业设计-附源码101555

    摘 要 21世纪的今天 随着社会的不断发展与进步 人们对于信息科学化的认识 已由低层次向高层次发展 由原来的感性认识向理性认识提高 管理工作的重要性已逐渐被人们所认识 科学化的管理 使信息存储达到准确 快速 完善 并能提高工作管理效率 促进
  • 微服务restful风格,用Post在服务之间发送请求接收不到参数接收不到问题(@RequestParam和@RequestBody)

    上代码 发送端 接收端 问题 发送端可以接受从前段传过来的数据 但是请求接收端时 接收端可以接收url请求 但是参数传不到接收端 分析 用get和post传输的数据是截然不同的 用get是追加在url之后 直接放在请求头 但是post请求的
  • 体验css:repeat和grid

    文章目录 一 repeat 1 语法 2 auto fill和auto fit 3 专属尺寸 fr auto max content min content 二 grid 1 设置grid布局 2 设置列宽行高 3 设置间距 4 设置分区
  • 【C++实现】 数据库连接池

    文章目录 涉及知识 为什么要弄连接池 功能介绍 成员变量讲解 代码剖析 Connection h Connection cpp ConnectionPool h ConnectionPool cpp 性能测试 难点 总结 涉及知识 MySQ
  • 解一元二次方程——Java

    解一元二次方程 可以使用下面的公式求元二次方程ax x bx c 0的两个根 b b 4ac称作一元二次方程的判别式 如果它是正值 那么一元二次方程就有两个实数根 如果它为0 方程式就只有一个根 如果它是负值 方程式无实数根 编写程序 提示
  • js中使用websocket

    后端地址是http的 websocket地址 ws开头 后端地址是https的 websocket地址wss开头 对于websocket没有跨域的问题 import MessageBox from element ui let url ws
  • Linux学习笔记--8(文件权限)

    文件权限与归属 Linux不同的字符来区分文件类型 常见如下 普通文件 d 目录文件 l 链接文件 b 块设备文件 c 字符设备文件 p 管道文件 对应目录文件 可读 表示能够读取目录内的文件列表 可写 表示能够在目录内新增 删除 重命名文
  • Oracle : ORA-02290: 违反检查约束条件

    背景 一个oracle表 有个字段开始被设置不为空 后来我想测试 把这个不为空 去掉了 然后保存 就报错 om dtwave meteor connector common exception ConnectorException Writ
  • 感知机原始形式、对偶形式的Python实现

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 感知机学习的目标就是求得一个能够将训练数据集中正负实例完全分开的分类超平面 感知机原始形式 from future import division import rando
  • Rabbitmq延迟队列实现定时任务

    场景 开发中经常需要用到定时任务 对于商城来说 定时任务尤其多 比如优惠券定时过期 订单定时关闭 微信支付2小时未支付关闭订单等等 都需要用到定时任务 但是定时任务本身有一个问题 一般来说我们都是通过定时轮询查询数据库来判断是否有任务需要执
  • 多态数组的简单代码教学

    多态数组的简单代码教学 package com hspedu polrArr public class PloyArray public static void main String args Person persons new Per