黑马程序员技术交流社区
标题:
多态
[打印本页]
作者:
416415590
时间:
2015-10-5 20:02
标题:
多态
对象在不同时刻表现出来的不同的状态
前提: 有继承关系(或者实现的关系)
有方法的重写
我们在使用多态的时候 就是为了使用 让父类的引用来调用子类重写的方法
如果没有方法的重写就没有意义了 也就不叫多态了
有父类的引用指向子类对象
特点:成员变量和成员方法
编译看左边 运行看右边
在多态的时候 父类的引用除了子类重写的方法是调用的子类的之外 其他的都是调用的父类的
如果父类没有就报错
弊端:父类的引用是不能使用子类的特有的功能的
怎么解决呢?
向上转型(小转大) 向下转型(大转小 需要强制 格式:(类名))
注意:在向下转型过程中有可能会出现ClassCastException 类型转换异常
以后必须这样做:父类的引用指向的哪个子类对象 就可以强转成哪个子类对象 否则报错
用处:提高程序的扩展性和可维护性
比如:在一个方法参数里面定义的是一个父类,而接收实际参数的时候 接收一个儿子 其实就是自动向上转型
这样就可以提高程序的扩展性和可维护性
作者:
jicheng1992
时间:
2015-10-5 23:01
学习学习,赞!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2