Java實例變量初化順序

                   
 本文主要講述Java實例變量初化順序,更多Java技術知識,請登陸瘋狂軟件教育官網。
  實例變量初始化方式有以下3種:

  1.非靜態塊中初始化;

  2.聲明時初始化;

  3.構造器中初始化;

  測試:

  package com.skymr.learn;

  /**

  * 實例變量初始化順序測試

  * @author skymr

  *

  */

  public class InstanceTest1 {

  public InstanceTest1(){

  a = 2;

 

  System.out.println("構造器");

  }

  {

  a = 1;

  System.out.println("非靜態塊1");

  }

  private int a = 3;

  public void print(){

  System.out.println(a);

  }

  public static void main(String[] args) throws Exception{

  new InstanceTest1().print();

  }

  }

  非靜態塊1

  構造器

  2

  測試證明:1,2優先於3執行,且不受代碼順序影響

  再測試:

  package com.skymr.learn;

  /**

  * 實例變量初始化順序測試

  * @author skymr

  *

  */

  public class InstanceTest1 {

  public InstanceTest1(){

  System.out.println("構造器");

  }

  {

  a = 1;

  System.out.println("非靜態塊1");

  }

  private int a = 3;

  public void print(){

  System.out.println(a);

  }

  public static void main(String[] args) throws Exception{

  new InstanceTest1().print();

  }

  }

  結果:

  非靜態塊1

  構造器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章