您的位置:首页 > 编程语言 > Java开发

Java中类的加载顺序执行结果

2017-10-11 15:19 337 查看
public class Parent {
public static int a = parentStaticMethod2();
{
System.out.println("父类非静态初始化块");
}

static {
System.out.println("父类静态初始化块");
}

public Parent() {
System.out.println("父类的构造方法");
}

public static int parentStaticMethod() {
System.out.println("父类类的静态方法1");
return 10;
}

public static int parentStaticMethod2() {
System.out.println("父类的静态方法2");
return 9;
}

@Override
protected void finalize() throws Throwable {
// TODO Auto-generated method stub
super.finalize();
System.out.println("销毁父类");
}

public static void main(String[] args) {
new Child();

}

}

class Child extends Parent {

{
System.out.println("子类非静态初始化块");
}
static {
System.out.println("子类静态初始化块");
}

public Child() {
System.out.println("子类的构造方法");
}

public static int childStaticMethod() {
System.out.println("子类的静态方法");
return 1000;
}

@Override
protected void finalize() throws Throwable {
// TODO Auto-generated method stub
super.finalize();
System.out.println("销毁子类");
}

}


执行结果:

父类的静态方法2

父类静态初始化块

子类静态初始化块

父类非静态初始化块

父类的构造方法

子类非静态初始化块

子类的构造方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: