:::info
💡 代码块,又叫初始化块属于类中的成员,类似于方法
没有方法名、没有返回值、没有参数只有方法体;
不用通过对象或者类调用,而是在类加载时,会自动隐式调用
:::
1 代码块基本语法
1.1 代码块格式:修饰符
代码 }; 【注意修饰符写时必须用 static,也可不写】 被static修饰的代码块为:静态代码块 没被static修饰的代码块:非静态代码块
1.2 代码块执行时间
在使用构造器创建对象之前执行;
对代码块的理解【是对构造器的补充机制,可做初始化操作】
2 代码块使用的注意事项
2.1 静态代码块
作用:
对类进行初始化,且随着类的加载而执行只执行一次; 【普通代码块每创建一个对象,执行一次】
补充:类什么时候加载?
①创建对象实例时 ②创建子类对象实例时 ③使用类的静态成员时
3 静态属性(初始化)/代码块、普通属性(初始化)/代码块、构造器他们的执行顺序
3.1 静态属性初始化与静态代码块的执行,优先执行
在静态属性初始化与静态代码块之间执行按照顺序执行
3.2 普通属性初始化与普通代码块的执行,在静态属性初始化与静态代码块之后
在普通属性初始化与普通代码块之间执行按照顺序执行
3.3 构造器最后执行
4 构造器
构造器的最前面,隐藏了①super()和②普通代码块