静态代码块
格式:
static
{
代码
}
特点:
随着累的加载而执行,只执行一次
用于给类进行初始化的
public class StaticCodeDemo { static { System.out.println("a"); } public static void main(String[] args) { System.out.println("c"); } static { System.out.println("b"); } }
执行结果:a b c
class StaticCode{ static { System.out.println("code"); } } public class StaticCodeDemo { public static void main(String[] args) { System.out.println("c"); new StaticCode(); new StaticCode(); System.out.println("over"); } }
执行结果:
c
code
over
StaticCode sc = null;不会执行代码段、
//静态代码块 给类初始化
static { System.out.println("code"+this.num); 错误 } //构造代码块 给对象初始化 { System.out.println("kuai"+this.num); 正确 }
Static{}
静态代码块 给类初始化 先于构造代码块执行
{}
构造代码块 给对象初始化
构造函数
给对应对象初始化