java 可以直接初始化静态变量 int a = 1也可以先 int a然后在静态代码块中 a= 1 ,静态代码块作用到底是什么

什么情景才需要静态代码块,或者正常的代码块, 既然自己都能初始化了,代码块和静态代码块到底在什么情景使用

阅读 1.9k
2 个回答

首先,代码块和静态代码块都是块,都可以进行一块代码的初始化,这比直接初始化的好处是 方便维护,因为都放在一起了.
其次,代码块和静态代码块的区别是,静态代码块只会在第一次创建该类对象或者第一次调用该来静态资源的时候执行一次,而代码块会在每次创建的时候都会执行。
还有一点需要注意,静态代码块里面一般是用来初始化静态变量的,而代码块是用来初始化普通变量的.

非静态代码块用的不多,但静态代码块还是比较常用的,比如你要在类初始化的时候加载一个配置文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题