:::info 💡 代码块,又叫初始化块属于类中的成员,类似于方法
没有方法名、没有返回值、没有参数只有方法体
不用通过对象或者类调用,而是在类加载时,会自动隐式调用 :::

1 代码块基本语法

1.1 代码块格式:修饰符

代码 }; 【注意修饰符写时必须用 static,也可不写】 被static修饰的代码块为:静态代码块 没被static修饰的代码块:非静态代码块

1.2 代码块执行时间

在使用构造器创建对象之前执行;
对代码块的理解【是对构造器的补充机制,可做初始化操作】

2 代码块使用的注意事项

2.1 静态代码块

作用:

对类进行初始化,且随着类的加载而执行只执行一次; 【普通代码块每创建一个对象,执行一次】

补充:类什么时候加载?

①创建对象实例时 ②创建子类对象实例时 ③使用类的静态成员时

3 静态属性(初始化)/代码块、普通属性(初始化)/代码块、构造器他们的执行顺序

3.1 静态属性初始化与静态代码块的执行,优先执行

在静态属性初始化与静态代码块之间执行按照顺序执行

3.2 普通属性初始化与普通代码块的执行,在静态属性初始化与静态代码块之后

在普通属性初始化与普通代码块之间执行按照顺序执行

3.3 构造器最后执行

4 构造器

构造器的最前面,隐藏了①super()和②普通代码块