java中靜態代碼塊(static{...}),局部代碼塊(方法中{...}),構造代碼塊(類中{...})區別。

來源:互聯網
上載者:User

標籤:...   pos   相同   完成   初始化   需要   靜態   gpo   統一初始化   

1、局部代碼塊:

  格式:在方法中{局部代碼塊執行語句}

  局部代碼塊,又叫普通代碼塊。它是作用在方法中的代碼塊。

  作用:是控制變數的生命週期。

  在程式中當我們定義完成一個局部變數x之後,並且在接下來的代碼中,不想再用到它時,那麼就沒必要讓x在記憶體中繼續佔用空間。因此就有了局部代碼塊。

2、構造代碼塊:

格式:在類中{構造代碼塊執行語句}

作用:就是給所有對象進行初始化。

注意幾點:

1)每次建立對象他都會執行。

2)構造代碼快是優於建構函式執行。

3)構造代碼塊與建構函式的區別是:構造代碼塊是給所有對象進行統一初始化,而建構函式是給對應的對象初始化,  

      因為建構函式是可以多個的,運行哪個建構函式就會建立什麼樣的對象,但無論建立哪個對象,都會先執行相同的構造代碼塊。 

      也就是說,構造代碼塊中定義的是不同對象共性的初始化內容。

3、靜態代碼塊:

格式:在類中static{靜態代碼塊執行語句}

作用:就是對類進行初始化。

  當類進入記憶體時,首先進行靜態代碼載入,例如靜態代碼塊,用static 修飾的變數,函數等。靜態代碼塊用於初始化類。建構函式是對對象進行初始化,

  而靜態代碼塊可以對類進行初始化,就如在靜態代碼塊中把靜態變數 num 修改他的值。而且在一些不需要對類執行個體化的場合,靜態代碼塊也可以非常有用。

 

java中靜態代碼塊(static{...}),局部代碼塊(方法中{...}),構造代碼塊(類中{...})區別。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.