代码块
1.什么是代码块?
代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类)。
2.代码块的分类
a.静态代码块(重点)
格式:static{}
特点:在类加载时执行,由于类只执行一次,所以只静态代码块也只加载一次,所以静态代码块也只执行一次(随着类的加载而记载,随着类的消失而消失)。
作用:完成类的初始化。例如:对类变量(静态变量)的初始化赋值。
b.构造代码块()
格式:{}
特点:在每次创建对象时执行,且在构造器加载前执行。
作用:对构造器的共性代码进行抽取
3.代码演示
先创建一个Student方法:
import java.util.ArrayList;
/**
* 演示代码块
*/
public class Student {
//定义一些静态的变量
static int num;
//ArrayList<String> list = new ArrayList<>(); //成员变量
//static ArrayList<String> list = new ArrayList<>(); //类变量 --> 直接初始化
static ArrayList<String> list; //类变量 --> 在静态代码块中初始化
//演示静态代码块 -> 不能写在方法中
static {
list = new ArrayList<>();
num = 10;
System.out.println("静态代码块 执行了!");
}
public Student() {
System.out.println("student 学生类的无参构造方法 ........................");
}
//构造代码块 -> 不能写在方法中
{
System.out.println("构造代码块 执行了....");
}
}
定义一个测试类(StudentTest)进行测试
public class StudentTest {
public static void main(String[] args) {
//创建学生类的对象
Student s1 = new Student();
Student s2 = new Student();
}
}