1. 程式人生 > 實用技巧 >java使用static靜態變數

java使用static靜態變數

Java語言支援的變數型別有:

1.類變數(靜態變數):獨立於方法之外的變數,用 static 修飾。

2.例項變數:獨立於方法之外的變數,不過沒有 static 修飾。

3.區域性變數:類的方法中的變數。

public class Variable{
    static int allClicks=0;    // 類變數
 
    String str="hello world";  // 例項變數
 
    public void method(){
 
        int i =0;  // 區域性變數
 
    }
}

靜態變數: 如果有資料需要被共享給所有物件使用時,那麼就可以使用static修飾變數。

靜態變數的訪問方式:

方式1: 可以使用物件進行訪問。格式: 物件.變數名。

方式2: 可以使用類名進行訪問。格式: 類名.變數名;
注意:
1. 非靜態的成員變數只能使用物件進行訪問,不能使用類名進行訪問。
2. 千萬不要為了方便訪問資料而使用static修飾成員變數,只有成員變數的資料是真正需要被共享的時候
才使用static修飾。

靜態的成員變數與非靜態的成員變數的區別:
一. 作用上的區別:
1. 靜態的成員變數的作用共享一個 資料給所有的物件使用。
2. 非 靜態的成員變數的作用是描述一類事物的公共屬性。
二. 數量與儲存位置上的區別:
1. 靜態成員變數是儲存方法 區記憶體中,而且只會存在一份資料。


2. 非靜態的成員變數是儲存在堆記憶體中,有n個物件就有n份資料。
三. 生命週期的區別:
1. 靜態的成員變數資料是隨著類的載入而存在,隨著類檔案的消失而消失。
2.非靜態的成員資料是隨著物件的建立而存在,隨著 物件被垃圾回收器回收而消失。