Java(第8章面向对象(多态性for reading).pdf
文本预览下载声明
Java编程基础
Java 编程基础
——对象的多态
杨巍
yangwei@mail.neu.edu.cn
Java编程基础
多态性
多态性
方法的重载overload 与覆写override
对象的多态性
具有继承关系的引用类型变量才能相互转换
向上转型Upcasting
子类对象父类对象
向下转型Downward Cast
父类对象子类对象
2
Employee employee = new Manager(); //legal
employee.department = Sales; //illegal
PolDemo1.java
Java编程基础
Upcasting上溯造型
向上转型Upcasting
子类对象父类对象
程序会自动完成
向上转型损失了子类新扩展的属性和方法,
仅剩下父类中声明过的属性和方法
如果对象发生了向上转型关系后,所调用的
方法一定是被子类覆盖过的方法
4
Java编程基础
Upcasting上溯造型
Upcastingtest.java
5
Java编程基础
“overriding” private methods
“overriding” private methods—— private
方法能否被重写
private method is hidden from the derived
class
only non-private methods may be overridden
overriding private methods, which generates
no compiler warnings
PrivateOverride.java
StaticPolymorphism.java
Java编程基础
Downward Cast
向下转型Downward Cast
父类对象子类对象
必须明确地指明要转型的子类类型
子类 子类对象=(子类)父类实例
向下转型的前提条件
必须是曾经做过向上转型的对象,才能再向下转
型
PolDemo2.java
7
Java编程基础
instanceof操作符
instanceof操作符
判断一个对象到底是哪个类的实例
返回boolean类型
对象instanceof 类
PolDemo3.java
8
Java编程基础
显示全部