Java中的大括號{}所圍起來的範圍, 就是block

代表著範圍內成員的生命週期

當程式執行到結束後

block內的資源都會回收

除了有static修飾字的除外

而block在class內部有另一種用法

和建構子一樣, 可以用來初始化

又可以分成static initialzation blocks和inititalzation block兩種

在使用上static initialzation block不管物件有沒有初始化都會執行且只執行一次

而一般的inititalzation block則是每一次實體化物件都會執行一次

 

執行的順序是

static initialzation blocks  ->  inititalzation block  -> constructor

當同時有很多block時則是由程式碼的上到下來執行

當有繼承狀況時的順序

父static initialzation blocks  -> 子static initialzation blocks 
-> 父inititalzation block  -> 父constructor
-> 子inititalzation block  -> 子constructor

 

1. 官網https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html

01.png

 

2. blocks範例

02.png

 

3. 繼承狀況時的範例

03.png  

arrow
arrow

    RX1226 發表在 痞客邦 留言(0) 人氣()