Java代码块

普通代码块:在方法中出现的{}就称为普通代码块,执行顺序从上到下;

静态代码块:在虚拟机加载类的时候就会顺序执行,而且只执行一次;

构造代码块:直接在类中定义且没有加static关键字的代码块称为构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数,执行顺序从上到下。

 

 

public class Demo {
	{
		System.out.println("构造代码块1");
	}
	{
		System.out.println("构造代码块2");
	}
	{
		System.out.println("构造代码块3");
	}

	static {
		System.out.println("静态代码块1");
	}

	static {
		System.out.println("静态代码块2");
	}

	public Demo() {
		System.out.println("无参构造函数");
	}

	public Demo(int i) {
		System.out.println("有参构造函数,参数为" + i);
	}

	public static void main(String[] args) {
		new Demo();
		new Demo(10);
		{
			System.out.println("普通代码块1");
		}
		{
			System.out.println("普通代码块2");
		}
	}
}

 

执行结果

 

静态代码块1
静态代码块2
构造代码块1
构造代码块2
构造代码块3
无参构造函数
构造代码块1
构造代码块2
构造代码块3
有参构造函数,参数为10
普通代码块1
普通代码块2

你可能感兴趣的:(Java代码块)