黑马程序员技术交流社区

标题: 多态 [打印本页]

作者: 416415590    时间: 2015-10-5 20:02
标题: 多态
对象在不同时刻表现出来的不同的状态
       
        前提:  有继承关系(或者实现的关系)
                有方法的重写
                        我们在使用多态的时候 就是为了使用 让父类的引用来调用子类重写的方法
                        如果没有方法的重写就没有意义了 也就不叫多态了
                有父类的引用指向子类对象
       
        特点:成员变量和成员方法
                编译看左边 运行看右边
                在多态的时候 父类的引用除了子类重写的方法是调用的子类的之外 其他的都是调用的父类的
                        如果父类没有就报错

        弊端:父类的引用是不能使用子类的特有的功能的
                怎么解决呢?
                向上转型(小转大)     向下转型(大转小 需要强制 格式:(类名))
                注意:在向下转型过程中有可能会出现ClassCastException 类型转换异常
                        以后必须这样做:父类的引用指向的哪个子类对象 就可以强转成哪个子类对象 否则报错

        用处:提高程序的扩展性和可维护性
                比如:在一个方法参数里面定义的是一个父类,而接收实际参数的时候 接收一个儿子  其实就是自动向上转型
                        这样就可以提高程序的扩展性和可维护性
作者: jicheng1992    时间: 2015-10-5 23:01
学习学习,赞!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2