码迷,mamicode.com
首页 > 其他好文 > 详细

谈谈我对多态的理解?

时间:2017-12-03 16:30:33      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:子类   实施   nbsp   类继承   继承   理解   类重写   1.2   child   

举例:

父类:Person{}  

子类:Child extends Person{}

父类的引用指向子类的对象:Person p = new Child();

理解:在编译期认为p是父类的对象,在运行期认为p是子类的对象

 

////////////////////子类执行方法的情况:

  1.子类重写了父类方法,当使用p去调用此方法会执行子类的方法

    这样理解:父类是(国家)  子类是(地方),国家颁布了一些惠民政策(方法),地方要实施惠民政策(方法),于是派了一个钦差(p)去地方监督执行,政策肯定要根据当地情况去执行(这就是为什么会执行子类的方法);

  2.子类中没有重写父类某方法,当使用p去调用该某方法的时候,执行的是父类的方法

  3.子类想用p执行自己的特有的方法是不可以的

    这样理解:是不行的,因为有国家政策的限制

////////////////////对Person p = new Child();会触发哪些方法的理解

  1.子类继承父类,对父类构造方法的要求

      1.1 父类中有无参构造,子类可以直接继承

      1.2 父类中只有有参构造,子类不可能有无参构造,子类必须在其有参构造中使用super(args)调用父类有参构造

  2.在运行期间,会先走父类的有参或无参构造,其次是子类的无参或有参构造

    

         

 

谈谈我对多态的理解?

标签:子类   实施   nbsp   类继承   继承   理解   类重写   1.2   child   

原文地址:http://www.cnblogs.com/pecool/p/7966155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!