成員變數和區域性變數的區別
- 在類中的位置不同
成員變數——類中方法外
區域性變數——方法內或者方法宣告上 - 在記憶體中的位置不同
成員變數——堆記憶體
區域性變數——棧記憶體靜態變數——方法區的靜態區
- 生命週期不同
成員變數——隨著物件的存在而存在,隨著物件的消失而消失
區域性變數——隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失靜態變數——靜態變數是隨著類的載入而載入,隨著類的消失而消失
- 初始化值不同
成員變數——有預設的初始化值
區域性變數——沒有預設的初始化值,必須先定義,賦值,才能使用
注意:成員變數和名稱可以不可和區域性變數一樣呢?
答案當然是可以的,但是使用的時候要注意,先找小範圍,再找大範圍
關於成員變數預設初始化值
public class Test {
private int i;
private static int j;
public static void main(String[] args) {
Test test = new Test();
System.out.println(test.i+"---------"+test.j);
}
}
輸出:
0---------0
相關文章
- 成員變數和區域性變數變數
- Java基礎-成員變數和區域性變數的區別Java變數
- Python中類變數、成員變數、區域性變數的區別Python變數
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- 類,物件,成員變數和區域性變數,匿名物件物件變數
- 區域性變數和全域性變數變數
- Java中變數之區域性變數、本類成員變數、父類成員變數的訪問方法Java變數
- 區域性變數和全域性變數(靜態和非靜態)區別變數
- java 全域性變數和區域性變數Java變數
- JavaScript —— 區域性變數和全域性變數JavaScript變數
- jmeter全域性變數和區域性變數JMeter變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- 全域性變數與區域性變數變數
- Python中的全域性變數和區域性變數Python變數
- js-js的全域性變數和區域性變數JS變數
- C語言區域性變數、全域性變數、靜態區域性變數、靜態全域性變數C語言變數
- python全域性變數和區域性變數, globalPython變數
- 全域性變數和靜態變數的區別變數
- Java區域性變數與全域性變數Java變數
- 【c】全域性變數與區域性變數變數
- Python的區域性變數和全域性變數使用解惑Python變數
- 類的靜態成員變數和普通成員變數該怎樣去區別定義變數
- python全域性變數與區域性變數Python變數
- Python的全域性和區域性變數Python變數
- iOS 靜變數static、全域性變數extern、區域性變數、例項變數iOS變數
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- Python全域性變數與區域性變數詳解Python變數
- 詳解python 區域性變數與全域性變數Python變數
- 【Java貓說】例項變數與區域性變數Java變數
- 記一個全域性變數"冒充"區域性變數引起的bug變數
- Spark 外部變數和BroadCast變數的區別Spark變數AST
- 修改全域性變數時,可變型別和不可變型別的區別變數型別
- Android中全域性變數與區域性變數的使用總結Android變數
- 靜態變數和例項變數區別?變數
- 酒店房間和 C++ 區域性變數的作用域C++變數
- test函式中的區域性變數函式變數
- JavaScript全域性作用域下,變數加var和不加var的區別。JavaScript變數
- javascript的函式的引數是區域性變數JavaScript函式變數