【精选】java初识多态 子类继承父类

复制代码
🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

前言:

封装

多态的形式

多态的使用场景

代码


前言:

封装

  • 对象代表什么,就得封装对应的数据,并提供数据对应的行为

多态的形式

多态是继 封装、继承之后,面向对象的第三大特性。

多态是出现在继承或者实现关系中的

多态体现的格式

cs 复制代码
父类类型 变量名 = new 子类/实现类构造器;
变量名.方法名();

多态的前提

  • 有继承关系
  • 有父类引用指向子类对象
  • 有方法重写

多态的使用场景

代码

父类:person

java 复制代码
package demon6;

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

    public person() {
    }

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

    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 void show(){
        System.out.println(name + "," + age);
    }
}

子类:student

java 复制代码
package demon6;

public class student extends person{
    @Override
    public void show() {
        System.out.println("学生的信息为:" + getName() + "," + getAge());
    }
}

子类:teacher

java 复制代码
package demon6;

public class teacher extends person{
    @Override
    public void show() {
        System.out.println("老师的信息为:" + getName() + "," + getAge());
    }
}

子类:administrator

java 复制代码
package demon6;

public class administrator extends person{
    @Override
    public void show() {
        System.out.println("管理员的信息为:" + getName() + "," + getAge());
    }
}

测试类:test

java 复制代码
package demon6;

public class test {
    public static void main(String[] args) {
        //创建三个对象,并调用register方法
        student s = new student();
        s.setName("张三");
        s.setAge(23);

        teacher t = new teacher();
        t.setName("王宝强");
        t.setAge(50);

        administrator a = new administrator();
        a.setName("admin");
        a.setAge(30);

        register(s);
        register(t);
        register(a);

    }
    //这个方法既可以接收学生,又可以接收老师和管理员
    //只能把参数写成这三个类型的父类
    public static void register(person p){
        p.show();
    }
}
相关推荐
少控科技1 天前
QT新手日记026
开发语言·qt
就是有点傻1 天前
C#中如何和西门子通信
开发语言·c#
海涛高软1 天前
vmware虚拟机 ubuntu20.4手动设置静态IP
linux·运维·服务器
老董杂货铺1 天前
安防视频互联网化利器:EasyNVR全面解析
网络·信息可视化·音视频
液态不合群1 天前
如何提升 C# 应用中的性能
开发语言·算法·c#
青云交1 天前
Java 大视界 -- Java 大数据实战:分布式架构重构气象预警平台(2 小时→2 分钟)
java·java 大数据 气象预警平台·flink 实时数据清洗·spark 区域定制模型·气象灾害预警系统
布局呆星1 天前
面向对象中的封装-继承-多态
开发语言·python
柏林以东_1 天前
异常的分类与用法
java·开发语言
专注API从业者1 天前
淘宝商品 API 接口架构解析:从请求到详情数据返回的完整链路
java·大数据·开发语言·数据库·架构
学嵌入式的小杨同学1 天前
【嵌入式 C 语言实战】栈、队列、二叉树核心解析:存储原理 + 应用场景 + 实现思路
linux·c语言·网络·数据结构·数据库·后端·spring