static代码块也叫静态代码块,作用是对类进行初始化,而且随着类的加载而执行,并且只会执行一次,如果是普通代码块,每创建一个对象,就执行一次
public class StaticTest {
public static void main(String[] args) {
AA aa = new AA();
aa.A();
aa.B();
}
}
class AA {
{
System.out.println("代码块测试");
}
public void A() {
System.out.println("AA");
}
public void B() {
System.out.println("BB");
}
}
输出结果:
代码块测试
AA
BB
public class StaticTest {
public static void main(String[] args) {
AA aa = new AA();
aa.A();
System.out.println("==============");
AA aa1 = new AA();
aa1.A();
}
}
class AA {
{
System.out.println("代码块测试");
}
static {
System.out.println("静态代码块测试");
}
public void A() {
System.out.println("AA");
}
public void B() {
System.out.println("BB");
}
}
输出结果:
静态代码块测试
代码块测试
AA
==============
代码块测试
AA