代码块是用{}花括号括起来的一段代码
可以分为四类
·普通代码块
·构造代码块
·静态代码块
·同步代码块
1、 普通代码块
直接在一个方法中出现的”{}”就称为普通代码块
public class Test {
public static void main(String[] args) {
{
System.out.println("普通代码块");
}
}
}
本人感觉普通代码块并没有什么实际的作用
2、 构造块
直接在类中定义的代码,叫做构造代码块
·构造块会重复的调用多次
·构造块优先于构造方法
public class Test {
public Test (){
System.out.println("构造方法一");
}
public Test(int i){
System.out.println("构造方法二");
}
{
System.out.println("普通代码块");
}
public static void main(String[] args) {
new Test();
new Test(1);
}
}
输出结果
普通代码块
构造方法一
普通代码块
构造方法二
构造方法一
普通代码块
构造方法二
3、静态块
使用Static声明的代码块,叫做静态代码块。
静态块的重要目的是用来为静态属性初始化。(调用是只执行一次)
public class Test {
public Test (){
System.out.println("构造方法一");
}
public Test(int i){
System.out.println("构造方法二");
}
static{
System.out.println("普通代码块");
}
public static void main(String[] args) {
new Test();
new Test(1);
}
}
输出结果
普通代码块
构造方法一
构造方法二
构造方法一
构造方法二
注意与构造代码块的比较
静态块优先于主方法的执行,静态块优先于构造方法的执行,而且只执行一次!
下面这段代码直接输出Hello World
说明静态造方法的执行,
public class Demo{
static{
System.out.println("Hello World");
}
}