本篇文章为大家展示了Java中类的加载顺序是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
具体如下:
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
父类静态初始化块
子类静态初始化块
父类非静态初始化块
父类的构造方法
子类非静态初始化块
子类的构造方法
上述内容就是Java中类的加载顺序是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。