Java類載入機制(僅作記錄)

來源:互聯網
上載者:User

標籤:代碼   art   blog   sys   bsp   http   oar   strong   初始化   

下面聲明類看看測試結果:

 

[java] view plain copy 
  1. package com.shareniu;  
  2.   
  3.   
  4. public class HelloA {  
  5.     {  
  6.         System.out.println("before class HelloA");  
  7.     }  
  8.     public HelloA() {  
  9.     System.out.println("HelloA");  
  10.     }  
  11.       
  12.     static{  
  13.         System.out.println("static HelloA");  
  14.     }  
  15.     {  
  16.         System.out.println("after class HelloA");  
  17.     }  
  18. }  
  19. public class HelloB extends HelloA {  
  20. private int i;  
  21. public HelloB() {  
  22. System.out.println("HelloB");  
  23. }  
  24. {  
  25. System.out.println(i);  
  26. System.out.println(" before class HelloB");  
  27. }  
  28. {  
  29. System.out.println("after class HelloB");  
  30. }  
  31. static{  
  32. System.out.println("static HelloB");  
  33. }  
  34. public static void main(String[] args) {  
  35. new HelloB();  
  36. System.out.println("shareniu");  
  37. new HelloB();  
  38. }  

 

輸出的結果是什麼呢?

 

[java] view plain copy 
  1. static HelloA  
  2. static HelloB  
  3. before class HelloA  
  4. after class HelloA  
  5. HelloA  
  6. 0  
  7.  before class HelloB  
  8. after class HelloB  
  9. HelloB  
  10. shareniu  
  11. before class HelloA  
  12. after class HelloA  
  13. HelloA  
  14. 0  
  15.  before class HelloB  
  16. after class HelloB  
  17. HelloB  

 

1.1.1.  總結

1.執行個體化類對象的時候,先執行個體化父類的靜態方法,再執行個體化子類的靜態方法,而且只會執行一次。

2.靜態塊的代碼的優先順序是最高的。

3.先初始化父類的代碼塊,再執行父類的構造方法。繼續初始化自己的代碼塊,再執行自己的構造方法。

4.代碼塊是優先於構造方法執行的。這裡就是類對象初始化的2次構造機製造成的。先執行代碼塊初始化所有的變數資訊,構造方法執行的時候,如果有變數的賦值,就去再次初始化已經修改的值的記憶體。

5.永遠都是先載入父類,在載入子類。先載入static的,在載入類對象的變數資訊。

6.代碼塊{}的執行順序,從上而下執行。

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.