初始化块
Java中的初始化域的方法:
- 在构造器中设置值
- 在声明中赋值
- 使用初始化块
在构造对象的时候会先运行初始化块,再运行构造器。静态初始化块在类加载的时候执行,用于初始化静态域。
import java.util.Random;
public class Employee extends People {
private int id;
private String name;
private double salary;
private static int nextId;
public Employee() {
{
name = \"\";
salary = 0;
}
System.out.println(\"这是构造器!\");
}
{
id = nextId;
nextId++;
System.out.println(\"这是普通初始化块!\");
}
static {
Random generator = new Random();
nextId = generator.nextInt();
System.out.println(\"这是静态初始化块!\");
}
public Employee(double salary) {
this();//调用上面的构造器
this.salary = salary;
System.out.println(\"这是构造器!\");
}
public static void main(String[] args) {
Employee employee1 = new Employee();
System.out.println(\"id:\"+employee1.id);
System.out.println(\"----------------\");
Employee employee2 = new Employee();
System.out.println(\"id:\"+employee2.id);
}
}
执行结果:
这是静态初始化块!
这是普通初始化块!
这是构造器!
id:1088716808
----------------
这是普通初始化块!
这是构造器!
id:1088716809
先执行静态初始化块,再执行普通初始化块,最后调用构造方法。
参考文献
《Java核心技术(原书第10版) 卷Ⅰ》
继续阅读与本文标签相同的文章
上一篇 :
云场景实践研究第53期:云贝网络科技
下一篇 :
微信小程序canvas在其他图片上画圆形图片
-
每分钟进出车辆2.5台 智能立体车库解锁停车难
2026-05-19栏目: 教程
-
一文了解机器学习必学10大算法
2026-05-19栏目: 教程
-
开一家线上外卖门店选址要注意哪些因素?
2026-05-19栏目: 教程
-
信院人的APP,你get到了吗?
2026-05-19栏目: 教程
-
对话FILA姚伟雄:安踏赋予独立性,未来坚持做直营
2026-05-19栏目: 教程
