Java基础-013-Java 多态

本文详细介绍了Java中的多态性,包括覆写(Override)和重载(Overload)的概念。覆写是指子类对父类方法的重新定义,而重载则是在同一类中方法名相同但参数不同的方法。多态性允许通过父类引用调用子类的方法,实现不同的行为。文中通过示例展示了如何实现多态,并强调了多态存在的三个必要条件:继承、覆写和父类引用指向子类对象。此外,还讨论了多态的实现方式,如覆写和接口。
摘要由CSDN通过智能技术生成

Java 多态

Java基础-012-Java 继承中已经讲到“多态”。


1、覆写(Override)、重载(Overload)


  • 覆写(Override):在继承中,子类定义了一个与父类方法名完全相同的方法,返回类型参数都相同。(加上@Override可以让编译器帮助检查是否进行了正确的覆写,但不是必需的。)
  • 重载(Overload):在同一个类里面,方法名相同,而参数不同返回类型可以相同也可以不同。
  • 注意:方法名相同,方法参数相同,但方法返回值不同,也是不同的方法。在Java程序中,出现这种情况,编译器会报错。
    在这里插入图片描述

2、多态


了解上面覆写(Override)、重载(Overload),这里另外描述多态:

  • 多态是指,针对某个类型的方法调用,其真正执行的方法取决于运行时期实际类型的方法。
  • 多态是同一个行为具有多个不同表现形式或形态的能力。
  • 多态就是同一个接口,使用不同的实例而执行不同操作。

这里网上查看了很多,总结多态就是同一个东西,运行出来不同动作。如继承同一个对象,并覆写(Override)同一方法,所以多个对象可转化成父类,通过父类使用同一方法表现不同。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

public class Main {
    public static void main(String[] args) {
        Man man1 = new Man("fuxi", 18);
        Woman woman1 = new Woman("nvwa", 18);

        man1.action();
        man1.action("打球");
        woman1.action();
        woman1.action("化妆");

        System.out.println();

        Person person1 = man1;
        Person person2 = woman1;
        //Woman woman2 = (Woman) person1;
        person1.action();
        person2.action();
    }
}

在这里插入图片描述

多态存在的三个必要条件

  • 继承
  • 覆写(Override)
  • 父类引用指向子类对象:Person person1 = man1;

多态的实现方式

  • 覆写(Override)
  • 接口:就是一些方法特征的集合,但没有方法的实现。
  • 抽象类和抽象方法

其实都需要覆写(Override),下面两种特殊列出

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xhBruce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值