静态代码块,构造代码块,普通代码块

package practice;

public class CodeBlock {
	public static void main(String[] args) {
		new Work().method();
		System.out.println("---------------");
		new Work().method();
		System.out.println("---------------");

	}
}

class Work {
	static {
		System.out.println("静态代码块");
	}
	{
		System.out.println("构造代码块");
	}

	public Work() {
		System.out.println("构造方法");
	}

	public void method() {
		{
			int a = 10;

			System.out.println(a);
			System.out.println("普通代码块");
		}
		for (int i = 0; i < 10; i++) {
			System.out.print(i);
		}
		System.out.println();
		System.out.println("over");
	}
}
静态代码块
构造代码块
构造方法
10
普通代码块
0123456789
over
---------------
构造代码块
构造方法
10
普通代码块
0123456789
over
---------------

   
 

 静态代码块概述:随着类的加载而执行;只执行一次,用于初始化整个程序的初始化数据。
    构造方法概述:随着对象的创建而执行,优先于构造方法,一般用于初始化所有对象都必须初始化的数据
    普通代码块概述:放在方法体内部的,放在这里的数据会在用完后立马释放,不必等到整个方法执行完释放。

    构造方法,静态代码块,构造代码块的执行顺序:静态代码块-构造代码块-构造方法

你可能感兴趣的:(静态代码块,构造代码块,普通代码块)