例項變數與類變數

2022-09-04 01:42:09 字數 529 閱讀 6666

例項變數與類變數**)

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

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

區別在於:

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

例:public class a 

public class b

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

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

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

類變數與例項變數

定義乙個英雄類,包含玩家數量,生命值,攻擊力和玩家姓名,同時包含乙個方法攻擊方法,呼叫攻擊方法時顯示如圖資訊,建構函式中需要初始化資料,當玩家加入遊戲後需要顯示玩家姓名和數量 class hero count 0 類變數 def init self 例項變數 self.hp 0 self.attac...

類變數與例項變數

初始 如下class dog num legs 4 類變數 def init self,name self.name name 例項變數一 訪問變數 jack dog jack rose dog rose jack.name,rose.name jack rose jack.num legs,ros...

類變數,例項變數

1 例項變數和類變數 每個物件的例項變數都分配記憶體 類變數 即 static 變數 僅在生成第乙個物件時分配記憶體,所有例項物件共享同乙個類變數,每個例項物件對類變數的改變都會影響到其它的例項物件。類變數可通過類名直接訪問,無需先生成乙個例項物件,也可以通過例項物件訪問類變數。區別在於 類變數是所...