标签:
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://blog.csdn.net/u011637069/article/details/47688571