java类的加载顺序

一个java类的加载顺序,今天作了一个实验,结果以下java

 

超类的静态成员web

超类的静态块函数

子类的静态成员spa

子类的静态块code

超类的非静态成员orm

超类的构造函数it

子类的非静态成员class

子类的构造函数import

class Parent1 {  
    private String parent="parent init";  
    private static String staticVar="Parent static init";  
      
    public Parent1(){  
        System.out.println(parent);  
        System.out.println("parent constructor......");  
    }  
      
    static{  
        System.out.println("parent static block ........"+staticVar);  
    }  
}  
class Son1 extends Parent1{  
    private String son="son init";  
    private static String staticSonnVar="son static init";  
      
    public Son1(){  
        System.out.println(son);  
        System.out.println("son constructor....");  
    }  
    static{  
        System.out.println("son static block....."+staticSonnVar);  
    }  
}  
 public class ClassProject  
{  
    public static void main(String[] args)   
    {     
    //  Parent1 parent=new Parent1();  
        Son1 son=new Son1();  
    }  
}

结果:构造函数

parent static block ........Parent static init
son static block.....son static init
parent init
parent constructor......
son init
son constructor....

相关文章
相关标签/搜索