一、代码块(初始化块)
1.代码块的作用:用来初始化类、对象
2.代码块如果有修饰的话,只能用static
修饰,例如:
static{
}
3.分类:静态代码块、非静态代码块。
4.静态代码块:
1⃣️内部可以有输出语句。
2⃣️随着类的加载而执行,而且只执行一次。
3⃣️作用:初始化类的信息。
4⃣️如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行。
5⃣️静态代码块的执行优先于非静态代码块的执行。
6⃣️静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的方法。
//静态代码块
static {
System.out.println("hello,static block-1");
}
static {
System.out.println("hello,static block-2");
}
5.非静态代码块:
1⃣️内部可以有输出语句。
2⃣️随着对象的创建而执行,每创建一个对象,就执行一次非静态代码块。
3⃣️作用:可以在创建对象时,对对象对属性进行初始化。
4⃣️如果一个类中定义了多个非静态代码块,则按照声明的先后顺序执行。
5⃣️非静态代码块内部可以调用静态的属性、静态的方法、非静态的属性或非静态的方法。
//非静态代码块
{
System.out.println("hello,block");
}