.静态代码块是在类加载时自动执行的,非静态代码块是在创建对象时自动执行的代码,不创建对象不执行该类的非静态代码块。
且执行顺序为静态代码块------非静态代码块----构造函数。
所谓代码块是指使用“{}”括起来的一段代码。Java有四种代码块,
分别是普通代码块(如方法后大括号中的代码)、构造代码块、静态代码块、同步代码块(与多线程数据安全有关)。
1.静态代码块
使用static关键字修饰的代码块称为静态代码块,一般用于初始化类的静态属性和对象创建前的环境。静态代码块在类装载时会自动执行,换言之,一旦触发类,其中的静态代码块便会最先得到执行,并且只执行一次,与创建的对象个数无关。
2.构造代码块
从名字上可以看出构造代码块同构造方法有密切关系,构造代码块本身是为简化构造方法而设计的,通常将多个构造方法中相同的代码放到构造代码块中。
示例如下:
从结果中可以看出,静态代码块在类被触发时最先得到执行并且只执行一次,而构造代码块则总是在构造方法之前执行
时间: 2024-11-14 07:00:45