您的位置:首页 > 编程语言 > Java开发

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

2016-03-22 22:03 337 查看
package class_test;
/**
* 静态函数、父类、子类执行顺序
* @author root
*
*/
public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: