10月8日

动手动脑

如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

因为你并未定义value的值,如上这样运行自然不会出结果。

 100     100

 运行结果

Root的静态初始化块
Mid的静态初始化块
Leaf的静态初始化块
Root的普通初始化块
Root的无参数的构造器
Mid的普通初始化块
Mid的无参数的构造器
Mid的带参数构造器,其参数值:Java初始化顺序演示
Leaf的普通初始化块
执行Leaf的构造器

分析:静态初始化在前,之后才是普通初始化块和无参数构造器

静态初始化块执行一次,创建子类型的对象时,也会导致父亲类型的静态初始化块的执行。

 结果

原文地址:https://www.cnblogs.com/hanmy/p/13798312.html