那曲檬骨新材料有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>java源碼下載>

關于Java變量的作用域分析

大小:0.5 MB 人氣: 2017-09-25 需要積分:1

  目錄

  1.靜態作用域與動態作用域

  2.變量的作用域

  3.Java 中變量的作用域

  4.Java 欺騙作用域

  5.Java 執行上下文

  6.Java 中的作用域鏈

  7.Java 中的閉包

  8.Java 中的模塊

  一

  靜態作用域與動態作用域

  在電腦程序設計中,作用域(scope,或譯作有效范圍)是名字(name)與實體(entity)的綁定(binding)保持有效的那部分計算機程序。不同的編程語言可能有不同的作用域和名字解析。而同一語言內也可能存在多種作用域,隨實體的類型變化而不同。作用域類別影響變量的綁定方式,根據語言使用靜態作用域還是動態作用域變量的取值可能會有不同的結果。

  包含標識符的宣告或定義;

  包含語句和/或表達式,定義或部分關于可運行的算法

  嵌套嵌套或被嵌套嵌套。

  名字空間是一種作用域,使用作用域的封裝性質去邏輯上組群起關相的眾識別子于單一識別子之下。因此,作用域可以影響這些內容的名字解析。

  程序員常會縮進他們的源代碼中的作用域,改善可讀性。

  作用域又分為兩種,靜態作用域和動態作用域。

  靜態作用域又叫做詞法作用域,采用詞法作用域的變量叫詞法變量。詞法變量有一個在編譯時靜態確定的作用域。詞法變量的作用域可以是一個函數或一段代碼,該變量在這段代碼區域內可見(visibility);在這段區域以外該變量不可見(或無法訪問)。詞法作用域里,取變量的值時,會檢查函數定義時的文本環境,捕捉函數定義時對該變量的綁定。

  function f() {

  function g() {

  }

  }

  靜態(詞法)作用域,就是可以無須執行程序而只從程序源碼的角度,就可以看出程序是如何工作的。從上面的例子中可以肯定,函數 g 是被函數 f 包圍在內部。

  大多數現在程序設計語言都是采用靜態作用域規則,如C/C++C#Python、Java、Java……

  相反,采用動態作用域的變量叫做動態變量。只要程序正在執行定義了動態變量的代碼段,那么在這段時間內,該變量一直存在;代碼段執行結束,該變量便消失。這意味著如果有個函數f,里面調用了函數g,那么在執行g的時候,f里的所有局部變量都會被g訪問到。而在靜態作用域的情況下,g不能訪問f的變量。動態作用域里,取變量的值時,會由內向外逐層檢查函數的調用鏈,并打印第一次遇到的那個綁定的值。顯然,最外層的綁定即是全局狀態下的那個值。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      百家乐园游戏77sonci...| 百家乐全程打庄| 元游视频棋牌游戏| 送彩金百家乐平台| 百家乐官网娱乐网真钱游戏| 子洲县| 澳门百家乐必赢看| 坐乾向巽24山向择吉| 百家乐官网客户端软件| 大发888娱乐真钱游戏下载| 星港城百家乐娱乐城| 赌场百家乐官网的玩法技巧和规则| 最好的棋牌游戏大厅| 百家乐玩法| 百家乐在线洗码| 百家乐小游戏开发| 百家乐官网娱乐网开户| 百家乐官网投注平台导航网| 华克山庄| 威尼斯人娱乐代理注测| 红宝石百家乐娱乐城 | 百家乐一邱大师打法| 百家乐官网游戏唯一官网网站| 百家乐官网视频下载地址| 临武县| 棋牌评测| 大发888手机版下载官方网站| 百家乐桌子租| 缅甸百家乐视频| 金域百家乐的玩法技巧和规则| 杨氏百家乐必胜公式| 玩百家乐678娱乐城| 百家乐赢钱皇冠| 阳宅24方位判断方法| 同花顺百家乐官网娱乐城| 百家乐官网破解赌戏玩| 百家乐官网平台是最好的娱乐城 | 邵阳市| 高清| 百家乐官网免费破解外挂| 彭泽县|