1. 程式人生 > >JAVA中局部變量 和 成員變量有哪些區別

JAVA中局部變量 和 成員變量有哪些區別

生命 bsp oda oid 出了 默認值 diff 就會 棧內存

JAVA中局部變量 和 成員變量有哪些區別


1.定義的位置不一樣<重點>***
局部變量:在方法的內部
成員變量:在方法的外部,直接寫在類當中

2.作用範圍不一樣<重點>***
局部變量:只有方法當中才可以使用,出了方法就不能再用
成員變量:整個類全都可以通用。

3.默認值不一樣<重點>***
局部變量:沒有默認值,如果想要使用,必須手動進行賦值
成員變量:如果沒有賦值,會有默認值,規則和數組一樣

4.內存的位置不一樣(了解)
局部變量:位於棧內存
成員變量,位於堆內存。

5.生命周期不一樣(了解)
局部變量:隨著方法進棧而誕生,隨著方法出棧而死亡。
成員變量:隨著對象創建而誕生,隨著對象被垃圾回收而消失。

public calss Demo01variableDifference{
    String name;//成員變量

    public void methodA(){
        int num=20;//局部變量 默認值為NULL
        System.out.println(num);
        System.out.println(name);
    }
    public void methodB(int param){
        //方法的參數就是局部變量
        System.out.println(param);//參數也是局部變量,為什麽不賦值就可以輸出?
        
//因為參數在方法調用的時候,必然會被賦值的。不傳參數就會報錯。 int age; //System.out.println(age);//錯誤寫法 未賦值不能使用,必須賦值 // System.out.println(num);//錯誤寫法 System.out.println(name);/ } }

JAVA中局部變量 和 成員變量有哪些區別