一个例子说明java局部代码块、静态代码块、构造代码块区别

package com.springapp.mvc.demo.classBlockDemo;

/**
 * java中普通代码块、构造代码块、静态代码块
 * <p/>
 * 普通代码块:一般用于控制变量的生命周期。执行顺序由他们声明的顺序决定。
 * 构造代码块:构造代码块在建立对象时被调用。
 * 静态块:用于类的初始化,每一个静态代码块在类加载时运行,且只执行一次。
 * <p/>
 * 执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。
 *
 * @author Leizhi 2016/6/14
 * @see
 * @since 1.0
 */
public class ClassBlock
{
	{
		System.out.println("I am construct block, i usually use for instantiating an object;");
	}

	static
	{
		System.out.println("I am static block, i usually use for instantiating an Class;");
	}

	public static void main(String[] args)
	{
		System.out.println("I am the main methods...., i run after static block.");
		new ClassBlock();
		{
			System.out.println("I am part block, i usually use for control variables lifecycle;");
			int x = 10;
			System.out.println(x);
		}
		//System.out.println(x); error,访问不到x变量,仅存在于局部(普通)代码块中
	}
}

运行截图java

相关文章
相关标签/搜索