J2SE_static總結

1靜態變量

 

 

  靜態變量是屬於類的,和對象沒有關係

  非靜態變量是屬於某個對象的,每個對象都有該數據的副本,而靜態變量只有一個

 

2靜態方法

   用static修飾的方法爲靜態方法。

   訪問靜態方法是通過(類名.變量名)

   使用注意:

1、靜態方法不能訪問非靜態變量

2、非靜態方法可以訪問靜態變量

靜態屬性或者方法是在類加載的時候產生的

非靜態的屬性或者方法是在new的時候產生的。

    靜態變量比非靜態變量先加載到類存中,非靜態變量在new對象的時候才加載進到類存中。

3靜態常量

Public static  final int x=12345;

 

 

package com.java2006;

 

public class StaticTest {

   //定義普通變量

int commobint=0;

  //定義靜態變量

static int statint=0;

//定義一個構造方法

StaticTest(int x){

this.commobint=x;

}

public static void main(String[] args) {

StaticTest s1=new StaticTest(1);

StaticTest s2=new StaticTest(2);

System.out.print("s1.commobint的值是:"+s1.commobint+"");

System.out.print("s2.commobint的值是:"+s2.commobint);

    s1.statint=88;

    System.out.print("*******打印開始*********");

System.out.print("statint1的值是:"+s1.statint);

System.out.print("statint2的值是:"+s2.statint);

System.out.print("*******打印結束*********");

/*

 s1.commobint的值是:1

 s2.commobint的值是:2*******

 打印開始*********statint1的值是:88statint2的值是:88*******打印結束

 

 */

}

 

}

 

 

package com.java2006;

 

public class Demo {

static int x = 0;

static {

x = 100;

}

 

// 如果值爲0說明static int x=0先執行

// 如果是100說明構造器先執行,static 方法變量是優先放到內存中的,程序運行結果是100

 

Demo() {

System.out.print(x);

}

 

public static void main(String[] args) {

// TODO Auto-generated method stub

new Demo();

}

 

}

 

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