第二讲 多态
一、概述
某一个事物,在不同时刻表现出来的不同状态。简单的说,我们可以通过猫这个小动物,说猫可以被称为猫,也可以被称为动物。在不同时刻,猫表现出的不同状态,来说明多态。我们生活中也会存在各种各样的状态来表现出不同的状态。
当然,我们也得满足一些前提,在第一讲中所提到的继承关系,也就是子类和父类的继承关系;同时也得满足重写,简单的说就是覆盖覆盖父类的方法;最后,也得满足父类的引用指向子类的对象。
格式:
Fu f = new Zi();
二、特点
多态的特点我们可以分为成员变量、成员方法、静态方法。
成员变量:
编译及运行都看左边
成员方法:
编译看左边,运行看右边
静态方法:
编译及运行都看左边
当然,这样做我们既有好处也有弊端,好处在于继承方面,提高了维护性,我们可以不用只修改某一处的代码,不像以前那样繁琐;同时也提供了扩展性。而对于弊端来说就是父类不能访问子类特有的功能。针对这个弊端我们可以进行进行强行转换,其格式如下:
强转(格式):
目标子类 子类变量名 = (目标子类)父类变量名;
三、应用举例
针对上面所提到的特点,我们可以举几个例子来进行很好的验证。
例一、 钢铁侠案例
分析:
1、没有变身前
2、变身后
1、程序入口
2、父类
3、子类
4、结果
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------