Java静态函数、父类、子类执行顺序

来源:互联网 发布:aso优化 工具排名 编辑:程序博客网 时间:2024/05/16 00:27
package class_test;/** * 静态函数、父类、子类执行顺序 * @author root * */public class Test {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("7");A b = new B();}}class A{public static int i=generate();public A(){System.out.println("A");}public static int generate(){i=5;System.out.println(i);return i;}}class B extends A{public static int j=generate();public B(){System.out.println("B");}public static int generate(){j=6;System.out.println(j);return j;}}

Java的静态执行顺序,静态代码块和静态成员变量为同一级别,依照申明先后执行,(静态方法未调用不会执行);先执行父类的静态,再子类静态,再父类初始化和构造,最后子类初始化和构造。

结果:

7

5
6
A
B
0 0