例: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

构造方法内的多态问题相关推荐

  1. 【M10】在构造方法内阻止资源泄漏

    1.类中没有指针,如果对象构造过程中出现异常,C++保证已经构造好的那一部分自动销毁.注意:这里不是调用析构方法,而是编译器在你的构造方法中插入了一些代码,保证对已经构造好的对象析构. 2.类中有指针 ...

  2. JAVA基础第三章 面向对象进阶--多态等

    3.1变量及其传递 1.变量实际是内存空间.引用型变量里存储的是引用,可以理解为对象实体的地址.指针.句柄.总之,通过这个引用我们就可以操纵这个对象. 例: MyDate m,n;  //定义两个My ...

  3. JAVA学习笔记(6)——接口与多态

    一.接口 1.   –与抽象类一样都是定义多个类的共同属性 –使抽象的概念更深入了一层,是一个"纯"抽象类,它只提供一种形式,并不提供实现 –允许创建者规定方法的基本形式:方法名. ...

  4. Java入门part6--继承和多态

    继承 // Animal.java public class Animal {public String name;public Animal(String name) {this.name = na ...

  5. JAVA继承和多态详细讲解

    面向对象编程的重要知识:继承和多态.通过类的继承机制,可以使用已有的类为基础派生出新类,无需编写重复的程序代码,很好地实现程序代码复用.多态是面向对象编程中继封装和继承之后的另一大特征,它具体是指同一 ...

  6. Java 构造方法中super()的作用以及使用

    在类的继承中,子类的构造方法中默认会有super()语句存在,相当于执行父类的相应构造方法中的语句 如下面代码: class Extends_Demo {public static void main ...

  7. 关于JAVA中子类和父类的构造方法

    本篇文章总结了一些关于Java构造方法的常见问题. 为什么创建了一个子类对象会调用其父类的构造方法 如下代码示例: package simplejava;class Super {String s;p ...

  8. 小汤学编程之JAVA基础day07——面向对象(二):封装、继承与多态

    一.封装 1.使用步骤      2.优点     3.包结构     4.访问修饰符 二.继承 1.理解      2.重写     3.final的详解     4.防止被继承的两种方法 三.多态 ...

  9. java 重载赋值_java中构造方法,set/get方法,方法重载使用解读

    给对象赋值的方法: 1.对于public修饰的属性,对象可以在外部直接调用. 定义一个类class Poker{ public String num; private String number; p ...

最新文章

  1. 为什么 Python被Google选为TensorFlow的开发语言呢?使用 Python比C++语言进行机器学习有什么优势?
  2. 打响进军元宇宙第一枪!网易云信发布两大元宇宙解决方案
  3. 面向对象设计原则OO
  4. 01-申明变量及变量命名
  5. loop 伪设备 挂在文件系统
  6. php文件便利,PHP便利文件夹下所有文件,创建压缩包
  7. 软件开发七宗罪(转)
  8. android profile 打包_Android 利用 Managed Profile 确保兼容性
  9. 全网最全的qt连接mysql的应用,学生信息管理系统(展示全部代码)
  10. 4K、高清、无水印视频素材库
  11. RestAssured接口测试框架
  12. 一只大二狗的Android历程--文件输入输出流 SharedPreference
  13. 十年的征程 - 人类探测器今日首次软着陆彗星:选定J点登陆
  14. 异步电机仿真为什么转速不是0
  15. Sipeed麦克风阵列板练习
  16. 销量持续5个月增长 岚图完成A轮50亿融资
  17. 医学知识---之T1,T2,flair,stir
  18. Mybatis超强大的动态 SQL 大全
  19. python全栈(一)网络通信与服务器之多任务-进程
  20. Unity【DoTween】- 如何使Transform Tween动画序列可编辑

热门文章

  1. 【转载】推荐系统的十大挑战
  2. [转] Understanding and Solving Internet Explorer Leak Patterns
  3. 【Spring 工厂】反转控制与依赖注入、Spring工厂创建复杂对象3种方式
  4. DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601
  5. 软件设计师备考知识点02
  6. 头条用户人均985,月入过万?看完真实的数据可视化,我有了答案
  7. 2018年入门python,推荐这样几本好书!
  8. 10个大数据领域的杰出公司
  9. 帆软报表重要Activator之DesignerInitActivator之一
  10. 微计算机控制技术 题库,微型计算机控制技术选择题