Java-面向对象(补充2)

一.多态概述

生活中,比如跑的动作,小猫、小狗和大象,跑起来是不一样 的。再比如飞的动作,昆虫、鸟类和飞机,飞起来也是不一样 的。可见,同一行为,通过不同的事物,可以体现出来的不同 的形态。

多态: 是指同一行为,对于不同的对象具有多个不同表现形式。

程序中多态: 是指同一方法,对于不同的对象具有不同的实现。

多态前提条件:

  • 继承或者实现【二选一】
  • 父类类型指向子类对象【格式体现】 父类类型 变量名 = new 子类类型();
  • 方法的重写【意义体现:不重写,无意义】

二.多态的定义和使用

2.1多态定义格式

父类类型    变量名    =    new    子类类型();

变量名.方法名();

2.2 普通类多态定义的格式

定义一个父类,写了一个方法 run 。

子类继承父类(Student   继承   Person),重写了 run 方法。

子类继承父类(Teacher   继承   Person),重写了 run 方法。

在测试类中

2.3 抽象类多态定义的格式

2.4 接口多态定义的格式

三.多态时访问成员的特点

  • 多态时成员变量的访问特点:编译看父类,运行看父类
  • 多态时成员方法的访问特点:编译看父类,运行看子类

四.多态的好处与弊端

4.1 多态的好处与弊端

  • 好处:提高了代码的扩展性。实际开发的过程中,父类类 型作为方法形式参数,传递子类对象给方法,进行方法的 调用,更能体现出多态的扩展性与便利。
  • 弊端:多态的情况下,只能调用父类的共性内容,不能调 用子类的特有内容。

4.2 类型转换

  • 向上转型:子类类型向父类类型向上转换的过程,这个过 程是默认的。

  • 向下转型:父类类型向子类类型向下转换的过程,这个过 程是强制的。

  • instanceof关键字

为了避免ClassCastException的发生,Java提供了instanceof 关键字,给变量做类型的校验。

五.多态的几种表现形式

5.1 形参多态

5.3 返回值多态

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值