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

2021-08-11 02:58:13 字數 695 閱讀 9092

1.從語法上的區別:

靜態變數前面要加static關鍵字,而例項變數前不加

2.在程式執行時的區別:

例項變數屬於某個物件的屬性,必須 建立了例項物件,其中的例項變數才會 被分配到空間,

才能使用這個例項變數。靜態 變數不屬於某個 例項物件,而是屬於類,所以稱為類變數 ,只要程式載入了

類的位元組碼,不用建立任何例項物件,靜態變數就會被分配到空間,靜態變數就可以被使用了 。

總之,例項變數必須建立物件後才可以通過這個物件來使用,靜態變數則可以直接使用類名來引用。

**如下:

public class test

public static void main(string args)

}執行結果 如下:

staticvar=1

instancevar=1

staticvar=2

instancevar=1

staticvar=3

instancevar=1

**分析:

無論建立多少個例項物件(test v =  new test();),永遠都只分配了乙個staticvar變數

並且每建立乙個例項物件,這個staticvar就會加1;但是,每建立乙個例項物件,就會分配乙個instancevar,

即可能分配多個instancevar,並且每個instancevar的值都只加了一次

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

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

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

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

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

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