Java类与构造器的执行顺序与注意事项

在Java中尽量不要在构造器里调用可能被重载的虚方法。

因为构造器的初始化顺序大概是

父类静态块---->子类静态块----> 父类初始化语句---->父类构造函数---->子类初始化语句---->子类构造器。

如果父类构造器执行的时候,调用了子类的重载方法,如果重载方法中引用了子类的类字段,然而子类的类字段还在刚初始化的阶段,刚完成内存布局,可能为null的。这种调用方法是极度危险的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,142评论 0 62
  • 本章将会介绍 存储属性的初始赋值自定义构造过程默认构造器值类型的构造器代理类的继承和构造过程可失败构造器必要构造器...
    寒桥阅读 781评论 0 0
  • 官方文档 初始化 Initialization是为准备使用类,结构体或者枚举实例的一个过程。这个过程涉及了在实例里...
    hrscy阅读 1,149评论 0 1
  • 个人简介 李玄,汉族,北京市人,1953年生,名彦,字石青,号奇峰山人,玄墨道人,美国国际艺术家委员会四星...
    艺术范阅读 2,776评论 0 2