Java:構造器,構造代碼塊,靜態代碼塊的執行順序


1.構造器:與類同名且沒有返回值,用來初始化類屬性;

  構造器又分為無參構造器和有參構造器

  1.1:無參構造器

    public class Contruction{

      ...屬性...

    public Contruction(){}//無參構造器,不寫,系統會自動添加

    }

  1.2:有參構造器

    public class Contruction {

      private int i;

     public Contruction( int i){/*有參構造器,如果你定義了一個有參數的構造器,那么你在實例化對象的時候必須帶有參數,不然會報錯,

                  因為你創建了一個有參數 ,那么你就很清楚的知道自己在干什么,系統不會自動添加無參構造器*/

        this.i = i;

      }

    }

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

2.構造代碼塊:對象一實例化就執行,每實例化一次執行一次;

 構造代碼塊的格式為:

結果:

從結果可以看出:構造代碼塊比構造器優先執行。

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

3.靜態代碼塊:對象實例化就執行,無論new 多少個對象,僅執行一次

結果:

從結果中可以看出,靜態代碼塊僅執行了一次,且優先於構造器執行。

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

無繼承的的初始化順序:

 

 有繼承的初始化順序:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM