A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 没有如果 中级黑马   /  2015-8-27 21:50  /  509 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多 态★★★★★(面向对象特征之一):对象在不同时刻体现出来的不同状态。
                                                       
针对引用类型:编译期间状态、运行期间状态。
体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();
多态的好处:提高了程序的扩展性和可维护性。
多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)
多态的前提:
1、有继承或实现关系
2、有方法重写(没有重写也行,但这种方式没意义) 3、有父类引用指向子类对象。  
多态间的成员特点:方法有重写,变量没有。
        1、成员变量:不管是静态还是非静态,编译、运行都看左边。
        2、成员方法:编译看左边,运行看右边。
解释:在多态中,去用父类引用调用方法的时候,编译期间,不是去找子类的方法,编译被外界看到的编译状态是父状态。所以,会在父类中找有没有父类的引用要调用的方法,如果没有就报错。而运行的时候,首先会去找子类中有没有这个方法,如果有就执行儿子的,以为方法存在重写。而变量是编译、运行都看左边。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马