本文共 808 字,大约阅读时间需要 2 分钟。
oop_day07_多态_20150815
1.多态:多种形态
1.1)同一类型的引用指向不同的对象时,有不同的实现
---------cut()、run()-----行为的多态
1.2)同一个对象被造型为不同的类型时,有不同的功能
---------我、水---------对象的多态
2.1)父类型的引用指向子类的对象
2.2)能向上造型的类型有: 父类、所实现的接口
2.3)能点出来什么,看引用的类型
3.1)引用所指向的对象,就是该类型
3.2)引用所指向的对象,实现了该接口
强转之前最好通过instanceof来判断引用所指向的对象是否是该类型,
instanceof返回true或false,强转成功的条件就是instanceof为true的条件
代码示例:
package oo.day07;//向上造型public class UpDemo { public static void main(String[] args) { Boo o1 = new Coo(); //向上造型 Coo o2 = (Coo)o1; //正确,o1所指向的对象就是Coo类型 Inter3 o3 = (Inter3)o1; //正确,o1所指向的对象实现了Inter3接口 //Doo o4 = (Doo)o1; //类型转换异常(ClassCastException) if(o1 instanceof Doo){ Doo o5 = (Doo)o1; } }}interface Inter3{}class Boo{}class Coo extends Boo implements Inter3{}class Doo extends Boo{}
转载地址:http://urews.baihongyu.com/