java靜態(tài)成員變量 靜態(tài)變量和成員變量的區(qū)別太難理解了?
靜態(tài)變量和成員變量的區(qū)別太難理解了?Java成員變量和靜態(tài)變量的區(qū)別:1,成員變量所屬的對(duì)象。所以也叫實(shí)例變量。靜態(tài)變量所屬的類。所以也叫類變量。2. 堆內(nèi)存中存在成員變量。方法區(qū)域中存在靜態(tài)變量。3
靜態(tài)變量和成員變量的區(qū)別太難理解了?
Java成員變量和靜態(tài)變量的區(qū)別:
1,成員變量所屬的對(duì)象。所以也叫實(shí)例變量。靜態(tài)變量所屬的類。所以也叫類變量。
2. 堆內(nèi)存中存在成員變量。方法區(qū)域中存在靜態(tài)變量。
3. 成員變量隨對(duì)象的創(chuàng)建而存在。當(dāng)物體被回收時(shí)消失。靜態(tài)變量在類加載時(shí)存在。當(dāng)類消失時(shí),它也消失了。
4. 成員變量只能由對(duì)象調(diào)用。靜態(tài)變量可以由對(duì)象或類名調(diào)用。因此,成員變量可以稱為對(duì)象的唯一數(shù)據(jù),靜態(tài)變量可以稱為對(duì)象的共享數(shù)據(jù)。
C 中類里static成員變量與普通的成員變量有什么不同?
類,只有一個(gè)實(shí)例。也就是說,一個(gè)類的所有實(shí)例都使用相同的變量。如果變量是公共的,則可以直接訪問類的外部部分。方法是類名::變量名。A類{公眾:staticintxinty}Aa1,A2//創(chuàng)建了a的兩個(gè)實(shí)例A1。X=10//可以這樣使用,或者a::X=10或A2。X=10。效果完全一樣。它們都在同一個(gè)變量A1上運(yùn)行。Y=12//這是一個(gè)公共成員變量。A1。Y和A2。Y分別屬于兩個(gè)實(shí)例
局部變量和成員變量主要是它們作用域之間的差異。
成員變量在類內(nèi)部;局部變量在定義它們的方法體內(nèi)部(或方法體內(nèi)部的程序塊內(nèi)部-大括號(hào),主要取決于定義的位置)。
另外,成員變量不能顯式初始化,可以由系統(tǒng)默認(rèn)設(shè)置;局部變量沒有默認(rèn)值,因此必須設(shè)置初始賦值。
而且,內(nèi)存中的位置也不同。在類中實(shí)例化成員變量后,它存儲(chǔ)在堆內(nèi)存中;在方法中調(diào)用局部變量時(shí),它存儲(chǔ)在堆棧內(nèi)存中。