局部變量 靜態變量staic 全局變量

   基礎概念就不用多講,相信大家都知道,不知道很用以查到對應的資料,現在就把比較明顯的差別根據本人所掌握的介紹一下:

  局部變量:函數中定義的變量稱爲局部變量。

      1、一個函數中定義的變量不能被另一個函數使用。

      2、每次調用函數時局部變量都表示不同的存儲空間。

      方法內部定義的變量,在程序執行到它的時候,系統爲它在棧上分配空間。而方法在棧上分配的空間在此方法執行結束時會釋放掉。這樣就產生一個問題:如果想將方法中此變量的只保存至下一次調用時,如何實現?

      最容易想到的方法是定義一個全局變量,但定義一個全局變量有許多缺點,最明顯的缺點是破壞了此變量的訪問範圍(使得在此方     法中定義的變量,不僅僅受此方法控制)。使用static就可以解決此問題,被static修飾的變量稱爲靜態變量。 

      從面向對象的角度出發,當需要一個數據對象爲整個類而非某個對象服務,同時又力求不破壞類的封裝性,既要求此成員隱藏在類的   內部,又要求對外不可見的時候,就可以使用static關鍵字。

      靜態變量還有以下優點:可以節省內存,它使所有對象所公有的,所以對多個對象來說,靜態變量只存儲一處,供所有對象共用。     靜態變量的值對每個對象都是一樣,但它的值是可以更新的。只要某一個對象對靜態變量的值更新一次,所有對象都能訪問更新後的   值,這樣可以提高時間效率。

發佈了12 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章