代码块
代码块:使用{}定义的一段代码称为代码块
代码块可以分为四种:普通代码块/构造块/静态块/同步代码块
普通代码块
定义在方法中的代码块
public static void main(String[] args) { { //直接用{}定义 int x=10; System.out.println(x); } }
构造块 | 非静态代码块 | 实例代码块:
定义在类中的代码块
-
用来初始化非静态的数据成员,构造块比构造函数先执行,所以变量最后是构造函数说了算
-
如果都不在构造函数里,那就按照先后顺序执行了
class Person{ { name="刘备"; } private String name="曹操"; private int age; //这样name就是曹操
静态代码块
使用static定义的代码块 : static{ }
-
作用:初始化静态数据成员,提前准备一些数据
-
静态代码块要在非静态代码块前执行
-
只要类被加载,静态代码块都会被执行
-
静态代码块只会被执行一次,不会声明多个对象导致多次执行
-
如果一个类中包含了多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次执行(合并)
public class Student{ private String name; private String gender; private int age; private double score; private static String classRoom; static { //静态代码块 classRoom="高三一班"; System.out.println("静态代码块"); } }