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
構造器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.