CodeGym自學筆記15——變數作用域
阿新 • • 發佈:2021-10-07
變數作用域
1.在方法中宣告的變數從其宣告開始到方法結束一直存在(可見)。
2.在程式碼塊中宣告的變數在程式碼塊結束之前一直存在。
3.方法的引數在方法返回前一直存在。
4.物件中的變數在包含它們的物件的整個生命週期中都存在。它們的可見性也可以由特殊訪問修飾符控制。
5.static(類)變數在程式執行的整個過程中都存在。它們的可見性也可以由訪問修飾符定義。
要點
-
在方法內宣告的所有變數從宣告開始到方法結束一直存在(可見)(示例1)。
-
如果變數是在程式碼塊中宣告的,則它在程式碼塊結束之前一直存在(示例 2)。
-
如果變數是方法引數,則它在方法的整個主體中都存在(可見)(示例3)。
-
如果變數是例項變數(示例4),則它連結到某個物件,並且在物件存在期間一直存在。如果沒有物件,則該變數沒有任何例項。可以從類的所有方法中訪問變數(即變數可見),無論這些方法是在該變數之前還是之後宣告的。將為每個物件建立一個新變數。該變數獨立於其他物件。不能從 static 方法訪問例項變數。
-
如果變數被宣告為 static,即標記有關鍵字 static,則它在類存在期間一直存在。JVM 通常在首次使用類時將其載入到記憶體中。static 變數也是在此時進行初始化的。
-
static 變數由類的所有物件共享。
-
區域性變數:方法內宣告的所有變數都必須具有唯一的名稱。方法的引數也被視為區域性變數。
-
成員變數:成員變數對於每個類也必須是唯一的,但區域性變數和成員變數的名稱可以相同。
- 區域性變數將遮罩例項變數。換言之,區域性變數是要訪問的變數。但是,你也可以訪問例項變數。只是這樣做有點複雜。
static
- static 方法和變數不連結到類的物件;它們連結到類本身。
非 static 方法的工作原理
- 使用 <物件> 點 <方法名稱> 呼叫方法時,實際上是在呼叫類方法,並將該物件作為第一個引數進行傳遞。在方法內,物件稱為‘this’。方法中的所有操作都是針對此物件及其資料執行的。
static 方法的工作原理
總結:
- 呼叫靜態方法:類名.方法名() 非靜態方法: 方法名()
- 在方法中,當例項變數(成員變數)與區域性變數相同,已經為區域性變數賦值,區域性變數將掩蓋原來的例項變數
- 非靜態: this.例項變數名 靜態:類名.例項變數名
@側耳聽智慧,專心求聰明 Turnging your ear to wisdom and applying your heart to understanding!你需要擁有自己的策略和獨特計劃,才能在不犧牲一切的前提下邁向頂尖。