1. 程式人生 > 其它 >CodeGym自學筆記15——變數作用域

CodeGym自學筆記15——變數作用域

變數作用域

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!