JAVA程序的初始顺序

来源:互联网 发布:uiautomator java 编辑:程序博客网 时间:2024/05/15 09:39

JAVA程序的初始化一般遵循以下三个原则:

1、静态对象(变量)优先于非静态对象(变量)初始化;

2、父类优先于子类进行初始化;

3、按照成员变量的定义顺序进行初始化。


如有以下代码:

class Base {
    static {
     System.out.println("Base static block");
    }
    {
        System.out.println("Base block");
    }
    public Base() {
        System.out.println("Base Constructor");
    }
}


public class Drived extends Base{
    static {
        System.out.println("Drived static block");
    }
    
    {
        System.out.println("Drived block");
    }
    public Drived() {
    System.out.println("Drived constructor");
    }
    
    public static void main(String[] args) {
        new Drived();
    }

}


运行结果为:

Base static block
Drived static block
Base block
Base Constructor
Drived block
Drived constructor


0 0
原创粉丝点击