作业

错在:构造函数Foo中有形参,而定义是没有给定形参,且如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

java字段的初始化规律:初始化构造时,先父后子;只有在父类所有都构造完后子类才被初始化。类加载先是静态、后非静态、最后是构造函数;静态构造块、静态类属性按出现在类定义里面的先后顺序初始化,同理非静态的也是一样的,只是静态的只在加载字节码是执行一次,不管你new多少次,非静态会在new多少次就执行多少次。

静态初始化块的执行顺序:静态初始化块的优先级最高,也就是最先执行,并且仅在类第一次被加载时执行。

原文地址:https://www.cnblogs.com/sljslj/p/9826589.html