成員變數和區域性變數的區別
- 在類中的位置不同
成員變數——類中方法外
區域性變數——方法內或者方法宣告上 - 在記憶體中的位置不同
成員變數——堆記憶體
區域性變數——棧記憶體靜態變數——方法區的靜態區
- 生命週期不同
成員變數——隨著物件的存在而存在,隨著物件的消失而消失
區域性變數——隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失靜態變數——靜態變數是隨著類的載入而載入,隨著類的消失而消失
- 初始化值不同
成員變數——有預設的初始化值
區域性變數——沒有預設的初始化值,必須先定義,賦值,才能使用
注意:成員變數和名稱可以不可和區域性變數一樣呢?
答案當然是可以的,但是使用的時候要注意,先找小範圍,再找大範圍
關於成員變數預設初始化值
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
相關文章
- 成員變數和區域性變數變數
- Python中類變數、成員變數、區域性變數的區別Python變數
- 成員變數、全域性變數、例項變數、類變數、靜態變數和區域性變數的區別變數
- 類,物件,成員變數和區域性變數,匿名物件物件變數
- 區域性變數和全域性變數變數
- Java中變數之區域性變數、本類成員變數、父類成員變數的訪問方法Java變數
- 區域性變數和全域性變數(靜態和非靜態)區別變數
- java 全域性變數和區域性變數Java變數
- jmeter全域性變數和區域性變數JMeter變數
- Python中的全域性變數和區域性變數Python變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- js-js的全域性變數和區域性變數JS變數
- 全域性變數與區域性變數變數
- Java區域性變數與全域性變數Java變數
- 【c】全域性變數與區域性變數變數
- 類的靜態成員變數和普通成員變數該怎樣去區別定義變數
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- Spark 外部變數和BroadCast變數的區別Spark變數AST
- 【Java貓說】例項變數與區域性變數Java變數
- 修改全域性變數時,可變型別和不可變型別的區別變數型別
- test函式中的區域性變數函式變數
- JavaScript全域性作用域下,變數加var和不加var的區別。JavaScript變數
- 十二、變數作用域:區域性變數、全域性變數,函式版名片管理系統—新增函式文件變數函式
- Python閉包區域性變數問題Python變數
- C語言--靜態區域性變數C語言變數
- 讀《我和Labview》7控制元件的區域性變數和屬性View控制元件變數
- java執行緒安全問題之靜態變數、例項變數、區域性變數Java執行緒變數
- java 10的區域性變數型別推斷Var的用法 - foojayJava變數型別
- 函式之定義及全域性變數&區域性變數&風溼理論函式變數
- JVM-棧幀之區域性變數表JVM變數
- 成員變數變數
- C#7.0--引用返回值和引用區域性變數C#變數
- private,public,protected,static不可以修飾區域性變數,方法裡的變數變數
- 多執行緒中,區域性變數與全域性變數哪個比較安全?執行緒變數
- 區域性靜態變數的初始化觀測變數
- Java 中將lambda 表示式體中的變數賦值給lambda體之外的一個區域性變數時,要求那個區域性變數是final 修飾的Java變數賦值
- 強大的CSS:var變數的區域性作用域(繼承)特性CSS變數繼承
- 為什麼要將區域性變數的作用域最小化?變數
- java零基礎自學第七天①,什麼是成員變數和區域性變數,private關鍵字使用,this關鍵字使用Java變數