今天在做牛客网上的题时,注意到了一个题是关于静态对象的初始化的问题
之前发现类加载的顺序是 :
父类的静态代码块和静态对象->子类的静态代码块和静态对象->父类非静态代码块和对象->父类构造函数->子类非静态代码块和对象->子类构造函数
今天做这个题时,立马根据上面的顺序排出掉A和B,结果查看答案瞬间傻眼了,于是就自己在eclipse测试了一下
实验代码:
package com.xaut.cherry.niukewang0702;
public class StaticMethodConstructor { // (3) (9) (12)
static StaticMethodConstructor ex1 = new StaticMethodConstructor(); // (4)
{
System.out.println("block D"); //加断点处 (1) (10)
}