public class StaticTest {
static int x=1; int y;
StaticTest(){ y++; }
public static void main(String args[ ]){
StaticTest st=new StaticTest();
System.out.println("x=" + x);
System.out.println("st.y=" + st.y);
st=new StaticTest();
System.out.println("st.y=" + st.y);
}
static { x++;}
}
public class StaticTest {
static int x=1;//靜態變量,類加載時執行,只會執行一次
int y; //保存成員變量,沒有賦值,默認為0
StaticTest(){ y++; }//構造方法
public static void main(String args[ ]){//main函數,程序執行入口
StaticTest st=new StaticTest();//這裡實例化前執行加載,所以x=2.然後執行構造函數y=1
System.out.println("x=" + x);//x=2
System.out.println("st.y=" + st.y);//y=1
st=new StaticTest();//新的類,但是類加載只執行一次,所以x=2.同進,執行構造函數y=1
System.out.println("st.y=" + st.y);//y=1
}
static { x++;}//靜態代碼端,類加載時執行
}