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

© fanrong 中级黑马   /  2015-6-30 20:08  /  283 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   1.多类的体现
       父类的引用指向了子类的对象
       也就是说父类的引用接收自己的子类对象
   2.多态的前提
   必须是类与类之间有关系,要么继承extends,要么实现implements
   通常还有前提:存在覆盖
   3.多态的好处:
      多态的出现大大的提高了程序的扩展性
   4.多态的弊端:
   提高了扩展性,但是只能使用父类的引用访问父类的成员
   5.多态的应用
   6.多态的出现,代码中的特点(多态使用的注意事项)

  千万不要将父类的对象转为子类的对象,
注意,我们可以转换的是父类引用指向自己子类对象时,该引用可被提升,也可被强制转换
规律:多态自始至终都是子类对象在做着变化

   多态的代码特点(注意事项)
   在多态中父类引用指向子类对象时:
   一:非静态成员函数的特点
   1.在编译时,参阅,引用型变量(f)所属的类(class Fu)中是否有调用方法。
     如果有则编译通过,如果没有则编译失败
   2.在运行时期,参阅对象(new Zi())所属类(class Zi)中是否有调用方法
   总结:成员函数在多态调用时,编译看左边,运行看右边
   二:面试环节:
   1)在多态中成员变量的特点
     无论编译和运行都参考左边
   2)在多态中静态成员函数的特点
   无论编译和运行都参考左边
    原因:因为静态函数可以被类调用,不需要对象,而父类引用指向子类对象时,只要引用不变还是父类
    ,所以就还用父类的方法,当静态进入时,就已经绑定在了类中,Fu.method4(),静态绑定而非静
    态则是this.method();this是指本类对象

4 个回复

倒序浏览
赞一下把!
回复 使用道具 举报
加油加油!!
回复 使用道具 举报
赞一个!
回复 使用道具 举报
为了理想而奋斗 来自手机 中级黑马 2015-6-30 23:31:04
报纸
赞一个!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马