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

构造方法内的多态问题

时间:2018-12-19 17:06:54      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:方法   col   准则   font   strong   构造方法   报错   问题   16px   

  例:A extends B

  如果A类中有一方法f(),且B类中也有方法f(),则方法f()就有多态,如果在A类的构造方法中调用f()方法,在new B() 创建B 对象的时候,在调用B的构造方法之前,会先调用A的构造方法,而A的构造方法中调用了f()方法,由于f()方法存在多态,因此,此时调用的是B类中的f()方法,由于此时B类对象还未创建,因此有可能会出现意想不到的问题,但编译器并不会报错。

  注意:构造方法的编写准则--用尽可能简单的方法使对象进入正常状态,避免在构造方法内部调用其他的方法,构造方法内唯一能够安全调用的方法是private或final方法(因为他们不存在多态)。

构造方法内的多态问题

标签:方法   col   准则   font   strong   构造方法   报错   问题   16px   

原文地址:https://www.cnblogs.com/yigedingzi/p/10143877.html

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