面向对象三大特征---多态

本文介绍了面向对象的三大特征之一——多态,包括多态的前提(继承或实现,父类引用指向子类对象,方法重写),表现形式,以及多态带来的好处。通过代码示例展示了如何在Java中实现多态,并解释了向上转型和向下转型的区别,强调了在向下转型时需要注意的类型转换异常及其避免方法。
摘要由CSDN通过智能技术生成

概述

多态是继封装性继承性之后面向对象的第三大特征。
定义: 是指同一行为,具有多个不同的表现形式。
在生活中,比如飞这个动作,昆虫、鸟、飞机飞起来的动作内容都是不一样的。同一行为,通过不同事物,可以表现出不同的形态。多态,描述的就是这样的一种状态。

多态的前提
  1. 继承或实现【二选一】
  2. 父类的引用指向子类的对象【格式体现】
  3. 方法的重写【意义:不重写,是毫无意义的】
多态的表现

多态的表现格式:

父类类型 变量名 = new 子类对象;
变量名.方法名;

备注:父类类型指的是子类对象继承的父类类型,或者实现的父类型接口。可以简单理解为父类类名。

代码示例:

public class Fu{
   

 public void method(){
   
    System.out.println("这是父类的method方法");
 
 }}
  public class Zi extends Fu{
   
         @Override
      public void method(){
   
          System.out.println("这是子类的method方法");
      }
  }
  //polymorphism 多态
  public class TestpolymorphismDemo01{
   
      public static void main(String[] args){
   
          //多态的格式
          /*
          父类类型 变量名 = new 子类对象;
          变量名.方法名();
          */
          //父类的引用指向了子类的对象
          Fu fu = new Zi();
          fu.method();//本质调用的是子类当中重写之后的method方法
      }
      
  }

我们需要知道如果在使用多态方式调用方法时,会首先检查父类当中是否有该方法,如果没有,则编译报错;如果有,则执行的是子类重写后的方法。

多态的好处

在实际开发中,父类类型作为方法的形式参数(不同于实际参数),传递子类对象(实参)给方法,进行方法的调用,更能体现出多态的扩展性和便利性。可见如下代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值