什么是多态?

Java中的多态

一、 多态性的概述

面向对象的三大特征:封装性、继承性、多态性。

extends继承或者implements实现,无论是类与类之间的继承、类与接口之间的实现还是接口与接口间的继承,反正总会出现上下的层次关系,这种关系的产生就是多态性出现的前提。

二、怎么体现多态性

多态性的体现,其实就是一句话,父类引用指向子类对象

格式:父类名称 对象名 = new 子类名称();

在这里插入代码片
父类名称 对象名 = new 子类名称();

**代码中体现多态性:
**

  • 先新建一个People类
在这里插入代码片
public class People{
	public void fun(){
        System.out.println("我是父类方法");
    }
}
  • 再来个Student类,并继承People类
public class Student extends People{
    public void fun(){
        System.out.println("我是子类方法");
    }
}
  • 在main中用父类名称 对象名 = new 子类名称();格式新建一个对象
在这里插入代码片
public class Test {
    public static void main(String[] args) {
        People people = new Student();
        people .fun();  //我是子类方法
    }
}
  • 上面代码中,用子类来构造父类的对象,然后调用重名方法fun(),调用的是子类的fun()方法,这就说明了当父类和子类有重名方法时,看等号“=” 右边的是什么类,调用的就是什么类的方法,看new的是谁就优先用谁。
  • 子类和父类中都有fun()函数,这叫方法重写,方法重写方法名必须相同,参数类型和返回类型也要相同,这样就构成了方法重写
  • 用子类来构造父类是可以的,因为“子类就是一个父类”好比“学生就是一个人”,我们可以把学生当人看,但是人不一定就是学生,People people = new Student();(正确写法)
    Student people = new People(); (错误写法)
多态的好处

1、减轻了代码的维护性,提高了代码的扩展性

  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值