Java自由塊(靜態和非靜態)(轉載)

來源:互聯網
上載者:User

標籤:[]   class   div   out   父類   java   多個   for   style   

java中的自由塊分為兩種:

靜態塊和非靜態塊

靜態塊:

 public class Test {2     static int x = 10;3     //靜態塊:靜態塊的執行時機是在class檔案裝載的時候;靜態塊只會執行一次4     //多個靜態塊的時候,按出現順序執行5     static{6         x+=5;7     }8 }

非靜態塊:

 public class Test {2     //非靜態塊:每次初始化一個對象,都會導致一次非靜態塊的執行;在建構函式執行之前執行3     //繼承關係:父類的非靜態塊->父類的建構函式->自己的自由塊->自己的建構函式4     {5         System.out.println("before");6     }7 }

測試demo:

 public class Test { 2  3     static int x = 10; 4     //靜態塊:靜態塊的執行時機是在class檔案裝載的時候;靜態塊只會執行一次 5     //多個靜態塊的時候,按出現順序執行 6     static{ 7         x+=5; 8     } 9     public static void main(String[] args) {10         new Test();11         System.out.println(x);12     }13     //靜態塊14     static {15         x/=3;16     }17     public Test(){18         System.out.println("建構函式");19     }20     //非靜態塊:每次初始化一個對象,都會導致一次非靜態塊的執行;在建構函式執行之前執行21     //繼承關係:父類的非靜態塊->父類的建構函式->自己的自由塊->自己的建構函式22     {23         System.out.println("before");24     }25 }

控制台輸出:

before建構函式5

 

Java自由塊(靜態和非靜態)(轉載)

聯繫我們

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