Java 类的初始化顺序

public class Demo13627 {
	static int x =2;//静态变量
	public static void main(String[] args) {
		int x=2;//局部变量
		Demo13627 b = new  Demo13627();
		b.go(x);
	}
	static {//静态代码块
		x+=x;
	}
	{//初始化块
		System.out.println("初始化块");
	}
	void go (int x ){//构造器
		++x;
		System.out.println(x);//此处的x 并非 静态变量x
	}	
	
}

//程序运行的顺序是 : 静态变量 - > 静态初始化块 - > 变量 -> 初始化块 - > 构造器

此程序的运行结果应该是: 3  

如果是 : System.out.println(++x) ; 将进一步考察 对x++ 和++x 运算的理解.

 下面的顺序,也是经常用到的.


原文地址:https://www.cnblogs.com/aikongmeng/p/3697414.html