成員變數和區域性變數
1.在類中的位置不同
- 成員變數:在類中方法外
- 區域性變數:在方法定義中或者方法宣告上
2.:在記憶體中的位置不同
- 成員變數:在堆記憶體(成員變數屬於物件,物件進堆記憶體)
- 區域性變數:在棧記憶體(區域性變數屬於方法,方法在棧記憶體)
3.生命週期不同:
- 成員變數:隨著物件的建立而存在,隨著物件的消失而消失
- 區域性變數:隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失
4.:初始化值不同
- 成員變數:有預設的初始值
- 區域性變數:沒有預設的初始值,必須定義,賦值,然後才能使用
注意事項:
- 區域性變數名稱可以和成員變數名稱一樣,在方法使用的時候,採用就近原則
- 基本資料型別變數包括:byte,short,int,long,float,double,boolean,char
- 引用資料型別變數包括哪些:陣列,類,介面,列舉
就近原則: class Person(){ String name;//成員變數 int num = 0; public void speak(){ int num = 10;//區域性變數 System.out.println(name); System.out.println(num); } } 輸出結果: null 10