多态
意义:
同一个对象被造型为不同的类型时,有不同的功能----所有对象都是多态的
同一类型的引用在指向不同类型时,有不同的实现----所有抽象方法都是多态的
向上造型/自动类型转换:
超类型的引用去指向派生类的对象----前面是超类,后面是派生类
能点出来什么,看引用的类型
能造型出来的数据类型:超类+所实现的接口
强制类型转换:
成功的条件只有两种:
引用所指向的对象,就是该类型
引用所指向的对象,实现了该接口或继承了该类
强转时若不满足以上条件,则发生ClassCastException类型转换异常
建议:在强转之前先通过instanceof来判断引用指向的对象是否是该类型
说明:instanceof会返回true或false的结果
若满足强转条件,则返回true,若不满足则返回false
何时需要强转:向上造型后,若想访问的东西在超类中没有,则需要强转类型转换