【精选】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();
    }
}
相关推荐
大白同学42134 分钟前
【Linux】进程间通信
linux·运维·服务器
木井巳39 分钟前
[Java数据结构和算法] HashMap 和 HashSet
java·数据结构·1024程序员节
祈祷苍天赐我java之术2 小时前
解析常见的限流算法
java·数据结构·算法
摇滚侠2 小时前
IDEA 启动前端项目 IDEA 切换分支
java·ide·intellij-idea
元直数字电路验证2 小时前
Jakarta EE开发中,如何配置IntelliJ IDEA的远程调试?
java·eureka·intellij-idea
石头wang2 小时前
idea字体的问题(idea应用本身的字体问题)
java·ide·intellij-idea
liu****2 小时前
1.模拟算法
开发语言·c++·算法·1024程序员节
数据村的古老师2 小时前
Python数据分析实战:基于25年黄金价格数据的特征提取与算法应用【数据集可下载】
开发语言·python·数据分析
孔明兴汉3 小时前
第一章-第三节-Java开发环境配置
java·开发语言
2301_803554523 小时前
HTTP 常考问题简洁回答(速记版)
网络·网络协议·http