標籤:
static關鍵字
一、作用:是一個修飾符,用於修飾成員(成員變數,成員方法)
1、被static 修飾後的成員變數只有一份
2、當成員被static修飾之後,多了一種訪問方式,除了可以被對象調用之外還可以被類名直接調用(類名.靜態成員)
二、static的特點:
1、隨著類的載入而被載入
2、優先於對象的存在
3、被所有的對象所共用的
4、可以直接被類名做調用
三、存放位置:
1、靜態成員屬性(類變數)隨著類的載入而存在於data記憶體區。
2、普通成員屬性隨著對象的建立而存在於堆記憶體。
四、生命週期:
1、靜態成員(類變數)生命週期最長,隨著類的消失而消失
2、非靜態成員(執行個體變數)生命週期比靜態成員短,隨著對象的消失而消失
五、方法的注意事項:
1、靜態方法只能訪問靜態成員
2、非靜態方法即能訪問靜態成員(成員屬性,成員方法)也能訪問非靜態成員
3、今天方法中是不可以定義 this、super關鍵字,因為靜態優先於對象存在,所以靜態方法不可以出現this
class G{ String name; int age; //成員屬性(另一種叫法(執行個體變數) static String country; //靜態成員屬性(另一種叫法:類變數) static void jt(){ System.out.println(country); //靜態方法裡面訪問靜態成員屬性時,不能使用this關鍵字,不能訪問非靜態成員屬性。 }}public class Index{ public static void main(String[] args){ G A = new G(); A.country = "小明"; G B = new G(); System.out.println(A.country); //對象A,定義了country成員屬性的值,可以輸出,這是常規的方式 System.out.println(B.country); //對象B,沒有定義country成員屬性的值,也可以輸出 System.out.println(G.country);//類名.static成員,也可以輸出 B.jt(); //調用靜態方法 }}
JAVA 靜態成員 static