靜態變數與例項變數的區別

2021-10-08 21:08:56 字數 978 閱讀 5345

在語法定義上的區別:靜態變數前要加上static關鍵字,而例項變數前則不加。

在程式運算時候的區別,例項變數屬於某個物件的屬性,必須建立了例項物件,其中的例項變數才會被分配空間,才能使用這個例項變數。。靜態的變數不屬於某個例項變數,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼,不用建立任何的例項的物件,靜態變數就會被分配空間,靜態變數就可以被使用了。。總之,例項變數必須建立物件後才可以通過這個物件來使用,靜態變數則可以直接的使用類名來引用。

接下來舉個例子具體描述它們的不同

package com.gem.study05;

/** * 靜態與非靜態

* @author administrator

* */

public

class

test02

}class

student

public

void

setid

(int id)

public

static string getname()

public

static

void

setname

(string name)

public

student

(int id)

@override

public string tostring()

}

控制台列印

id = 10001, name = 張三

id = 10002, name = 張三

********************

id = 10003, name = 李四

id = 10002, name = 李四

可以看到,靜態屬性值的改變是一致性,影響到類而不是物件,這裡特意使用s1去呼叫方法方便理解,對於靜態方法或者屬性,最好用類本身去呼叫。

第一次寫,布局不好,見諒。

靜態變數和例項變數的區別?

1 在語法定義上的區別 靜態變數前要加 static 關鍵字,而例項變數前則不加。2 在程式執行時的區別 例項變數屬於某個物件的屬性,必須建立了例項物件,其中的例項變數才會被分配空間,才能使用這個例項變數。靜態變數不屬於某個例項物件,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼,不用建立...

靜態變數和例項變數的區別

在語法定義上 靜態變數前要加static關鍵字,而例項變數前不加。在程式執行上 例項變數屬於某個物件的屬性,必須建立了例項物件,其中的例項變數才會被分配記憶體空間,才能使用這個例項變數。靜態變數屬於類,也稱為類變數,只要程式載入了類的位元組碼檔案,不用建立任何例項物件,靜態變數就會被分配記憶體空間,...

靜態變數和例項變數的區別

在語法定義上的區別 靜態變數前要加 static 關鍵字,而例項變數前則不加。在程式執行時的區別 例項變數屬於某個物件的屬性,必須建立了例項物件,其中的例項變數才會被分配空間,才能使用這個例項變數。靜態變數不屬於某個例項物件,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼,不用建立任何例項...