Java多态性的复习

1.何为多态性

答:可以理解为一个事物的多种形态

2.何为多态性

对象的多态性:父类的引用指向子类的对象

举例:

Person p = new Man();

Object obj = new Date();

3.多态性的使用:虚拟方法调用

3.1:有了对象的多态性的以后,我们在编译期,只能调用父类声明的方法,但在运行期间,我们实际执行的是子类重写父类的方法

3.2:总结:编译看左边 运行 看右边

4.多态性的使用前提

4.1类的继承关系

4.2方法的重写

5.多态性使用的注意点

对象的多态性,只适用于方法,不适用于属性

6.关于向上转型和向下转型

6.1向上转型:多态

6.2向下转型:

6.2.1为什么使用向下转型:

答:有了对象的多态性的以后,内存中实际上加载了子类特有的属性和方法,但是由于变量声明为父类类型,导致编译时,只能调用父类中声明的属性和方法。子类特有的属性和方法不能调用

如何才可以调用子类特有的属性和方法?

答:使用向下转型

6.2.2如何实现向下转型

答:使用强制类型转换符:()

6.2.3使用时的注意点

①使用强制转换时,可能出现ClassCastExcption的异常

②为了避免向下转型出现的ClassCastExcption的异常,我们在向下强制转换之前,先进行instanceof的判断,一旦返回true,就进行向下强制转换,若为false 则不能.

6.2.4instanceof的使用

a instanceof A    a是一个引用(或者说a是一个对象)  A是指的一个类

判断a是否是类A的实例 如果是 返回true  如果不是 返回 false

如果 a instanceof A  返回true  ,a instanceof B 也返回true  则类B是类A的父类

要求a所属的类必须是类A 的子类或父类,否则编译错误

面试题:

1.谈谈你对多态性的理解

实现代码的通用性

抽象类、接口的使用

2.多态是编译时行为还是运行时行为

运行时行为

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值