【精选】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();
    }
}
相关推荐
xht08325 分钟前
PHP vs Python:编程语言终极对决
开发语言·python·php
计算机安禾8 分钟前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
23.9 分钟前
【Java】char字符类型的UTF-16编码解析
java·开发语言·面试
怒放吧德德9 分钟前
Spring Boot实战:InfluxDB 2.x简单教程
java·spring boot·后端
无小道13 分钟前
关于mmap的理解和使用
开发语言·mmap
indexsunny13 分钟前
互联网大厂Java面试实战:核心技术与业务场景深度解析
java·spring boot·hibernate·security·microservices·interview
是小蟹呀^17 分钟前
Java中的继承:从入门到精通
java·继承
froginwe1117 分钟前
jQuery 隐藏/显示详解
开发语言
SeanDe18 分钟前
Linux grep 命令用法详解
linux·服务器·网络
W.W.H.18 分钟前
Linux共享文件夹不显示,每次都要重新加载问题解决
linux·运维·服务器