首页 > 其他 > 详细

构造方法内的多态问题

时间:2018-12-19 16:43:05      阅读:128      评论:0      收藏:0      [点我收藏+]

  例:A extends B

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

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

构造方法内的多态问题

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!