成員變數與區域性變數?成員變數和區域性變數的區別

2025-04-28 05:10:07 字數 1626 閱讀 4040

1樓:重慶新華電腦學校

從語法形式上看:成員變數是屬於類的,而區域性變數是在方法中定義的變數或是方法的引數;成員變數可以被 public,private,static 等修飾符所修飾,而區域性變數不能被訪問控制修飾符及 static 所修飾;但是,成員變數和區域性變數都能被 final 所修飾。從變數在記憶體中的儲存方式來看:

如果成員變數是使用static修飾的,那麼這個成員變數是屬於類的,如果沒有使用static修飾,這個成員變數是屬於例項的。而物件存在於堆記憶體,區域性變數則存在於棧記憶體。

從變搜基量在記憶體中的生存時間上看:成員變數是物件的一部分,它隨著物件的建立而存在,而區域性變數隨著方法的呼叫而自動消失。成員變數如果沒有被賦初值:

則會自動以型別的預設值而賦值(一種情況例外:被 final 修鬧老飾的成員液漏公升變數也必須顯式地賦值),而區域性變數則不會自動賦值。

成員變數和區域性變數的區別

2樓:

摘要。您好親,很高興為您解答。1.

定義的位置不一樣(重點)區域性變數:在方法的內部成員變數:在方法的外部,直接寫在類中2.

作用的範圍不一樣(重點)區域性變數:只有方法當中才可以呼叫,出了方法就不能再呼叫成員變數:整個類都可以通用3.

預設值不一樣(重點)區域性變數:沒有預設值,如果要想使用,必須手動進行賦值成員變數:如果沒有賦值,會有預設值,規則和陣列一樣4.

記憶體的位置不一樣區域性變數:棧記憶體成員變數:堆記憶體4.

生命週期不一樣區域性變數:隨著方法進棧而誕生,隨著方法出棧而消失成員變數:隨著物件建立而誕生,隨著物件被攔擊**而消失。

您好,您的問題我已經看到了,正在整理答案,請稍等一會兒哦。

您好親,很高興為您解答。1.定義的位置不一樣(重點)區域性變數:

在方法的內部成員變數:在方法的外部,直接寫在類中2.作用的範圍不一樣(重點)區域性變數:

只有方法當慶者中才可以呼叫,出了方法就不能再呼叫成員變數:整個類都可以通用3.預設值不一樣(重點)區域性變數:

沒有預設值,如果要想使用,必須手動進行賦值成員變數:如果沒有賦值,會有預設值,規則和陣列一樣4.記憶體的位置不一樣區域性變數:

棧記憶體成員變數埋汪:堆記憶體4.生命週期不一樣區域性變數:

隨著方法進棧而誕生,隨著彎差仔方法出棧而消失成員變數:隨著物件建立而誕生,隨著物件被攔擊**而消失。

成員變數與區域性變數的區別?

3樓:重慶新華電腦學校

從語法形式上看:成員變數塵態是屬於類的拆螞,而區域性變數是在方法中定義的變數或是方法的引數;成員變數可以被 public,private,static 等修飾符所修飾,而區域性變數不能被訪問控制修飾符及 static 所修飾;但是,成員變數和區域性變數都能被 final 所修飾。

從變數在記憶體中的存旅兄埋儲方式來看:如果成員變數是使用static修飾的,那麼這個成員變數是屬於類的,如果沒有使用static修飾,這個成員變數是屬於例項的。而物件存在於堆記憶體,區域性變數則存在於棧記憶體。

從變數在記憶體中的生存時間上看:成員變數是物件的一部分,它隨著物件的建立而存在,而區域性變數隨著方法的呼叫而自動消失。

成員變數如果沒有被賦初值:則會自動以型別的預設值而賦值(一種情況例外:被 final 修飾的成員變數也必須顯式地賦值),而區域性變數則不會自動賦值。

java區域性變數和全域性變數的區別

全域性變數就是這個類的物件都可以訪問的屬性,區域性變數就是某個方法內部臨時定義的變數,當方法呼叫結束後,據不變數自然銷燬。而全域性變數只有在這個類的物件銷燬時才會伴隨銷燬,如果相很多物件共享一個類的某個屬性就用全域性變數。例如 public class test00115.a 10 注意,這一行是會...

JSP中區域性變數和全域性變數的作用範圍

jsp中的區域性和全域性變數定義方法 全域性變數的定義方法 變數型別 變數名 如,定義一個int型的全域性變數a寫法如下 int a 區域性變數定義方法 變數型別 變數名 如,定義一個string型的區域性變數b寫法如下 string sign 1 其實你換種方式看,jsp最終會轉譯成servelt...

c語言中區域性變數可以同名麼,c語言問題 區域性變數能不能和全域性變數重名?

在c語言中,來相同作用域範源圍的區域性變bai量不可以同名。所以,du在不同作用域下,zhi可以出現區域性變數同dao名的情況。1 在不同函式中。函式不同,區域性變數完全無關,自然可以使用相同的名字。2 在同一函式中,但作用域不同。區域性變數的作用域是定義位置,到所在大括號結束。所以只要兩個區域性變...