二、Java物件導向(10)_代碼塊

來源:互聯網
上載者:User

標籤:結合   mil   main   初始化   構造器   變數   style   對象   沒有   

2018-05-02

 

代碼塊

 

什麼是代碼塊?

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

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

 

代碼塊的分類

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

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

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

 

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

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

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

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

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

 

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

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

 

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

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

  即先把位元組碼載入進JVM,而後JVM再調用main方法。

  一般我們用來做初始化操作(類的初始化),載入資源,載入設定檔等等。

 

二、Java物件導向(10)_代碼塊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.