目录
1. 基本介绍
(1)代码块 又称为 初始化块,属于类中的成员(是类的一部分),类似于方法,将逻辑语句封装在方法体中,通过 {} 包围起来。
(2)但和方法不同,没有方法名、返回、参数,只有方法体。而且不用通过对象或类 显式调用,而是在加载类时,或创建对象时 隐式调用。
2. 基本语法
[修饰符] {
代码
};
(1)[修饰符]是可选填写的,如果要写,只能写static。
(2)代码块分为两类,使用static修饰的叫静态代码块,没有static修饰的叫普通代码块。
(3)逻辑语句可以为任何逻辑语句(输入、输出、方法调用、循环、判断等)。
(4)最后的 ;号可以写上,也可以省略。
例:
3. 代码块的好处
(1)代码块相当于另外一种形式的构造器(对构造器的补充机制),可以做初始化的操作。
(2)应用场景:如果多个构造器中都有重复的语句,可以抽取到代码块中,提供代码的复用性。
4. static代码块
static代码块也叫静态代码块,作用就是对类进行初始化,而且它随着类的加载而执行,并且只会执行一次(创建多次同一个对象,类在第一次创建就加载了,不会重复加载)。如果是普通代码块,每创建一个对象,就执行一次。
5. 注意事项和使用细节
(1)普通的代码块 在创建对象实例时,会被隐式的调用。被创建一次,就会调用一次。如果只是调用类的静态成员时,普通代码块不会执行。
(2)构造器的最前面,其实隐含了super()和调用普通代码块。调用构造器后,先执行super(),再调用普通代码块,最后执行构造器剩下的语句。
(3)静态代码块只能直接调用静态成员(静态属性和静态方法),普通代码块可以调用任意成员。