static 非static运行次数

public class StaticM {
	public static Integer i;
	public  MM a = new MM();
	static {
		i = 10;
		System.out.println("sss");
		i--;
	}
	public static void pp(){
		new StaticM().new MM().p();
	}
	
	class MM{
		public MM(){
			i--;
			System.out.println("mm"+i);
		}
		public void p(){
			System.out.println("ppp");
		}
	}
}


上面的代码 在运行时候 创建了几个实例,MM类就也得创建几个实例。
而static块中的代码只运行一次。仅仅一次!

你可能感兴趣的:(static)