1. 程式人生 > >二、Java面向對象(10)_代碼塊

二、Java面向對象(10)_代碼塊

混亂 靜態 jvm sta 根據 16px 每次 創建 font

2018-05-02

代碼塊

什麽是代碼塊?

  在類或者方法中,使用“{}”將多行代碼封裝在一起,形成一個獨立的代碼區,這就構成了代碼塊。

  在代碼塊裏的變量屬於局部變量,只在自己所在區域的前後{}內有效。

代碼塊的分類

  根據代碼塊定義的位置不同,分成三種

1、局部代碼塊:在方法裏用一對“{}”括起來的數據,就是局部代碼塊,

  一般我們不會直接使用局部代碼塊,只不過我們會結合if,while,for,try等關鍵字聯合,表示一塊代碼區域。

2、初始化代碼塊(構造代碼塊):是在類中直接定義的,用“{}”括起來的代碼。

  每次創建對象都會都用構造器,在調用構造器之前,都會先執行初始化代碼塊。

  通過反編譯可以看到,初始化代碼塊也作為構造器最初語句。

  我們一般不使用初始化代碼塊,即使要做初始化操作,也一般在構造器中做即可。如果做初始化操作的代碼比較多,那麽此時構造器的結構比較混亂,

  此時可以專門定義一個方法做初始化操作(對象的初始化),然後在構造器中調用即可。

3、使用static修飾的初始化代碼塊:(在類中的成員位置,用“{}”括起來的代碼,只不過他用了static修飾了,。)

  在主方法執行之前執行靜態代碼塊,而且只執行一次

main方法是程序的入口,為什麽靜態代碼塊優先於主方法執行?

  因為靜態成員隨著字節碼的加載而加載,也加載進JVM。此時main方法還沒有執行,因為方法需要JVM調用。

  即先把字節碼加載進JVM,而後JVM再調用main方法。

  一般我們用來做初始化操作(類的初始化),加載資源,加載配置文件等等。

二、Java面向對象(10)_代碼塊