代码块分为普通代码块,构造块,静态代码块;
普通代码块定义在方法类,用{}包裹,变量声明与外部互不影响,感觉没什么用。
构造块定义在类里面,优先于构造方法执行,可重复声明,感觉没什么用。
静态代码块是用static 声明的一段代码块,优先于构造块执行,主要作用为static 属性初始化,可以定义在类里面,也可以定义在主方法里面,优先主方法执行,感觉没什么用。
class Person {
private static String str="hello";
//构造方法
public Person(){
System.out.println("1..构造方法");
}
//构造块
{
System.out.println("2..构造块");
}
//静态代码块
static {
str+=" world";
System.out.println("3..静态代码块"+str);
}
}
public class TestDemo{
public static void main(String args[]){
new Person();
//普通代码块
{
int x=10;
System.out.println("普通代码块输出x="+x);
}
int x=100;
System.out.println("正常输出x=="+x);
}
static {
System.out.println("主方法里面的静态代码块,优先于主方法执行");
}
}
编译结果:
总结:代码块没什么意义,哈哈哈