所有类在初始化时,都是先初始化它的父类中静态字段,静态块,再初始化本身同样代码。接着执行父类构造方法,再执行自己构造方法。如果有多个父类,一直往上面推,超级父类最先被初始化。所有类都隐式继承自Object,所以当然是先初始化Object ,这是classloader做的事 。不过Object本身没有显式的构造方法,即只有默认的构造方法,而且Object是所有类的父类,它里面大部分都是native方法。之所以要先初始化父类,是因为父类的某些字段或方法很有可能被继承了,所以必须先初始化它们
是的。
1楼回答的很清楚··
学习了·