類變數和例項變數的區別是什麼?

2021-06-06 02:46:41 字數 510 閱讀 4430

類變數也叫靜態變數,也就是在變數前加了static 的變數;

例項變數也叫物件變數,即沒加static 的變數;

區別在於:

類變數和例項變數的區別在於:類變數是所有物件共有,其中乙個物件將它值改變,其他物件得到的就是改變後的結果;而例項變數則屬物件私有,某乙個物件將其值改變,不影響其他物件;

例:public class a 

public class b

}類變數又叫靜態成員變數,它不需要建立物件就可以已經在記憶體中存在了。 

類就像乙份說明書,說明這種類的例項物件的規格。而在建立例項物件的時候,記憶體中會為每乙個例項物件的每乙個非靜態成員變數開闢一段記憶體空間,用來儲存這個物件所有的非靜態成員變數值。即使兩個不同的例項物件是屬於同乙個class類,但是它們的同名非靜態成員變數在記憶體中占用的空間是不同的。 

而靜態成員變數也就是類變數不同。所有的例項物件都共用乙個類變數,記憶體中只有一處空間是放這個類變數值的。因此,如果乙個物件把類變數值改了,另外乙個物件再取類變數值就是改過之後的了。

類變數和例項變數的區別

類變數也叫靜態變數,也就是在變數前加了static 的變數 例項變數也叫物件變數,即沒加static 的變數 區別在於 static被修飾的變數和方法,為該整個類及其類的物件所共享,乙個類或物件修改了被定義的類或方法,其他的也會跟著變數。這就是說被static修飾的是大家共用的。而沒有修飾的屬性就相...

和 的區別是什麼?

符號一般用來當作佔位符,常使用linux指令碼的同學應該對此有更深的體會吧。既然是佔位符,當然就是被用來替換的。知道了這點就能很容易區分 和 從而不容易記錯了。比如說用 和 傳參的區別,使用 傳入引數是,sql語句解析是會加上 比如 select from table where name 傳入的n...

類變數與例項變數的區別

類變數也靜態變數,也就是變數前加了static的變數例項變數也叫物件變數即沒有加static的變數 他們的區別在於類變數和例項變數的區別在於,類變數是對所有物件所共有的,其中乙個物件將他的值改變,其他物件得到的就是改變後的結果 而例項變數則屬於私有的,某乙個物件將其值改變,不影響其他的物件 類中的例...