多态-灵活性

疯狂java讲义149

概念

允许不同的对象对同一种消息做出响应

同一个接口,使用不同的实例而执行不同操作

多态的条件

   a. 要有继承

   b. 要有方法重写

   c. 要有父类引用子类对象

 

 

引用和对象的关系

-> 遥控器和空调

【多态-灵活性】

好处

多态实现了程序的灵活性,继承自同一个父类的子类可以有不同的效果

 

多态中的属性的覆盖

实际上,子类覆盖的是父类的方法,属性并没有覆盖,子类和父类的属性同时存在

 

向上转型和向下转型

向上转型:父类引用指向子类对象, 是一种安全的转型,缺点是不能使用子类独有的功能

向下转型:子类引用 父类引用(实际指向的是子类对象)

是一种不安全的转型,可能会导致类型转换异常

 

* 如果要保证不出现类型转换异常,必须要在转型之前 instanceof 关键字判断

语法:

String a="abc";

a instanceof String

 

多态的内存分配情况

【多态-灵活性】

【final关键字】

 1. 修饰基本类型数据时,只能赋值一次(值不能改变)

 2. 修饰引用类型数据时,引用不能指向其他对象

 3. 修饰方法,表示方法不能被重写(覆盖)

 4. 修饰类,表示该类不能有子类

相关文章: