鍍金池/ 問答/Java  數(shù)據(jù)庫/ java 可以直接初始化靜態(tài)變量 int a = 1也可以先 int a然后在靜

java 可以直接初始化靜態(tài)變量 int a = 1也可以先 int a然后在靜態(tài)代碼塊中 a= 1 ,靜態(tài)代碼塊作用到底是什么

什么情景才需要靜態(tài)代碼塊,或者正常的代碼塊, 既然自己都能初始化了,代碼塊和靜態(tài)代碼塊到底在什么情景使用

回答
編輯回答
舊言

非靜態(tài)代碼塊用的不多,但靜態(tài)代碼塊還是比較常用的,比如你要在類初始化的時候加載一個配置文件。

2018年8月16日 16:06
編輯回答
紓惘

首先,代碼塊和靜態(tài)代碼塊都是塊,都可以進行一塊代碼的初始化,這比直接初始化的好處是 方便維護,因為都放在一起了.
其次,代碼塊和靜態(tài)代碼塊的區(qū)別是,靜態(tài)代碼塊只會在第一次創(chuàng)建該類對象或者第一次調(diào)用該來靜態(tài)資源的時候執(zhí)行一次,而代碼塊會在每次創(chuàng)建的時候都會執(zhí)行。
還有一點需要注意,靜態(tài)代碼塊里面一般是用來初始化靜態(tài)變量的,而代碼塊是用來初始化普通變量的.

2018年8月8日 22:40