一.代码块 代码块的概述: 在java中,用{}括起来的代码称为代码块
代码块的分类: 局部代码块;
构造代码块;
静态代码块;
同步代码块(多线程讲解)
常见代码块的应用:
局部代码块:
位于方法中,用于限定变量声明周期,提高内存的使用效率
构造代码块:
在类中方法外出现,多个构造函数中相同的代码块,可以提取出来,每次调用构造方法都会执行,在构造方法之前执行.
通过反编译可以发现,构造代码块直接复制到了构造方法中了.
静态代码块:
在类中方法外出现,并加上了static修饰,用于给类进行初始化,在类加载的时候就执行,且执行一次
[Java] 纯文本查看 复制代码 class Swap {
static {
System.out.println("Swap静态代码块");
}
public static void main(String[] args) {
System.out.println("main方法");
Student s1 = new Student();
Student s2 = new Student();
}
}
class Student {
static {
System.out.println("Student 静态代码块");
}
{
System.out.println("Student 构造代码块");
}
public Student() {
System.out.println("Student 构造方法");
}
}
代码块的执行顺序: 有main函数的静态代码块 --> main函数 --> Student静态代码块 -->Student构造代码块 -->Student构造方法
在后面创建Student对象的时候,Student静态代码块不在执行,直接执行Student构造代码块,然后是Student的构造方法
|