什么是多态:
多态(polymorphism)是具有表现多种形态的能力的特征。
如何实现多态
实现多态的条件:
1. 必须有继承存在
2. 子类重写父类
3. 父类引用变量指向子类对象
子类到父类的转换(向上转型):
1.经一个父类的引用指向一个子类对象,成为向上转型(upcasting),自动进行类型转换;
2.通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法;
3.通过父类引用变量无法调用子类特有的方法。
例:
//将int型常量或变量的值赋给double变量,可以自动进行类型转换
int i=5;
double di=5;
//将double型常量或变量的值赋给int型变量,进行强制转换
double d2=3.14
int a =(int)d2;+
父类到子类的转换(向下转型):
将一个指向子类对象的父类引用赋给一个子类的引用,成为向下转型,此时必须强制类型转换。
instanceof运算符:
语法: 对象 instanceo 类或接口
含义:该运算符用来判断一个对象是否属于一个类或者实现了一个接口,结果为true或false;
作用:避免类型转换异常;
条件:对象的类型和类必须具有上下级关系(继承),一般与强制类型结合使用