静态代码块
在类加载阶段主动执行,一般用于最基础的配置初始化
public class CodeBlock{
static{
System.out.println("静态代码块");
}
}
构造代码块
调用构造方法创建对象的时候,在构造方法的代码块之前执行,可用于构造方法的通用初始化,即每个构造方法都有的代码且最先执行
public class codeBlock {
static {
System.out.println("静态代码块");
}
{
System.out.println("构造代码块");
}
public codeBlock(){
System.out.println("无参构造函数");
}
public codeBlock(String str){
System.out.println("有参构造函数");
}
}
反编译后代码:
构造函数
普通代码块
静态变量
类加载阶段执行,全局共享
类变量
创建实例时初始化默认值