
回复
结果
执行时间:静态代码块>构造代码块>构造函数,静态代码块只会在类被载入内存时加载一次,构造代码块和构造函数都是在对象创建的时候执行,有几个对象就会执行几次,所以一般将加载配置文件的过程写在静态代码块中
可以看到静态成员变量和静态代码块一样,只会在类被载入内存时加载一次
执行顺序(静态成员函数在调用时被加载)
1.静态代码块和静态成员变量,加载顺序由编写顺序决定
2.构造代码块和非静态成员变量,加载顺序由编写顺序决定
3.构造函数
执行顺序
1. 父类的静态(静态代码块,静态成员变量),子类的静态(静态代码块,静态成员变量)
2. 父类的非静态(构造代码块,非静态成员变量),父类的构造函数
3. 子类的非静态(构造代码块,非静态成员变量),子类的构造函数
文章转载自公众号:Java识堂