java的類學習

先看下面的代碼

<span style="font-size:18px;">public class Static {
    public int a;
    public String SS;
   /* public  Static(){
    	a=35;
    }*/
    public  void Test(){
    	a=25;
    }
    public void Test02(){
    	SS="hello";
    }
    public void Test03(){
    	System.out.println(a);
    }
    public static void main(String[] args) {
		Static st= new Static();
		//st.Test();
		st.Test03();
	}
}</span>
輸出的結果是0;說明Test方法沒有執行所以纔有了st.Test03();輸出了0;先運行Test()方法則將把25賦值給a了.之後在運行Test03則輸出25,

而在構造方法中賦值的時候是在創建對象的時候就先運行了所以會出現下面的樣子

<span style="font-size:18px;">public class Static {
    public int a;
    public String SS;
    public  Static(){
    	a=35;
    }
    public  void Test(){
    	a=25;
    }
    public void Test02(){
    	SS="hello";
    }
    public void Test03(){
    	System.out.println(a);
    }
    public static void main(String[] args) {
		Static st= new Static();
		//st.Test();
		st.Test03();
	}
}
</span>

之所以寫這些也是我當時以爲在new一個對象的時候構造方法先執行,然後其他在順序執行,但是我今天發現原來不調用的話是不會執行的

今天的一些理解

發佈了78 篇原創文章 · 獲贊 16 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章