public class InitDemo extends FatherClass {
{
System.out.println("子类-->非静态代码块");
}
DemoClass d5 = new DemoClass("子类-->成员变量d5");
static DemoClass d4 = new DemoClass("子类-->静态成员变量d4");
static {
System.out.println("子类-->静态代码块");
}
public InitDemo() {
System.out.println("子类-->构造器");
}
public static void main(String[] args) {
InitDemo initDemo = new InitDemo();
}
}
class FatherClass {
static DemoClass d1 = new DemoClass("父类-->静态成员变量d1");
static DemoClass d2;
DemoClass d3 = new DemoClass("父类-->非静态成员变量d3");
static {
System.out.println("父类-->静态代码块");
d2 = new DemoClass("父类-->静态成员变量d2");
}
{
System.out.println("父类-->非静态代码块");
}
public FatherClass() {
System.out.println("父类-->构造方法");
}
}
class DemoClass {
public DemoClass(String s) {
System.out.println(s);
}
}
java的类加载顺序
最新推荐文章于 2025-04-05 17:08:10 发布
本文详细解析了Java类的初始化过程,包括静态代码块、非静态代码块、构造器以及成员变量的作用与区别,通过实例代码展示了类初始化的顺序。
555

被折叠的 条评论
为什么被折叠?



