Java中类的加载顺序执行结果
具体代码如下所示:
publicclassParent{
publicstaticinta=parentStaticMethod2();
{
System.out.println("父类非静态初始化块");
}
static{
System.out.println("父类静态初始化块");
}
publicParent(){
System.out.println("父类的构造方法");
}
publicstaticintparentStaticMethod(){
System.out.println("父类类的静态方法1");
return10;
}
publicstaticintparentStaticMethod2(){
System.out.println("父类的静态方法2");
return9;
}
@Override
protectedvoidfinalize()throwsThrowable{
//TODOAuto-generatedmethodstub
super.finalize();
System.out.println("销毁父类");
}
publicstaticvoidmain(String[]args){
newChild();
}
}
classChildextendsParent{
{
System.out.println("子类非静态初始化块");
}
static{
System.out.println("子类静态初始化块");
}
publicChild(){
System.out.println("子类的构造方法");
}
publicstaticintchildStaticMethod(){
System.out.println("子类的静态方法");
return1000;
}
@Override
protectedvoidfinalize()throwsThrowable{
//TODOAuto-generatedmethodstub
super.finalize();
System.out.println("销毁子类");
}
}
执行结果:
父类的静态方法2
父类静态初始化块
子类静态初始化块
父类非静态初始化块
父类的构造方法
子类非静态初始化块
子类的构造方法
总结
以上所述是小编给大家介绍的Java中类的加载顺序执行结果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!