运行顺序:
父类静态变量--》父类静态代码块--》子类静态变量--》子类静态代码块--》父类构造方法--》父类非静态变量--》父类非静态代码块--》子类构造方法--》子类非静态变量--》子类非静态代码块
1 静态代码块只执行一次;
2 非静态代码块在每次创建对象时运行,在构造方法之前;
3 构造函数只在使用new创建对象时运行;
4 成员变量在对象调用时运行。
运行顺序:
父类静态变量--》父类静态代码块--》子类静态变量--》子类静态代码块--》父类构造方法--》父类非静态变量--》父类非静态代码块--》子类构造方法--》子类非静态变量--》子类非静态代码块
1 静态代码块只执行一次;
2 非静态代码块在每次创建对象时运行,在构造方法之前;
3 构造函数只在使用new创建对象时运行;
4 成员变量在对象调用时运行。