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