Java基礎之靜態變數和例項變數的區別

2021-08-19 06:19:54 字數 549 閱讀 2161

//先拿個demo來

public class demo_04_23

public static void main(string args)

//執行結果

staticint = 3  random = 3

staticint = 4  random = 3

staticint = 5  random = 3

兩者區別:

1、例項變數屬於某個物件的屬性,必須建立了例項物件,其中的例項變數才會被分配空間,才能使用這個例項變數。

靜態變數不屬於某個例項物件,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼, 不用建立任何例項物件,靜態變數就會被分配空間,靜態變數就可以被使用了。

2、例項變數必須建立物件後才可以通過這個物件來使用,靜態變數則可以直接使用類名來引用。例如,對於下面的程式,無論建立多少個例項物件,永遠都只分配了乙個staticint變數,並且每建立乙個例項物件,這個staticint就會加1;但是,每建立乙個例項物件,就會分配乙個random,即可能分配多個random,並且每個random的值都只自加了1次。

Java靜態變數和非靜態變數

記憶體分配 靜態方法和靜態變數建立之後一直使用同一塊記憶體,是連續的。非靜態方法會存在於記憶體的多個地方,是離散的。生命週期 靜態變數的生存週期是應用的生存週期。非靜態變數的存在週期取決於例項化的類的存在週期。呼叫方式 靜態變數只能是 class.靜態變數 來呼叫,類的例項不能呼叫。非靜態變數在變數...

靜態變數和例項變數

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

Java 中靜態變數和例項變數區別

總之,例項變數必須建立物件後才可以通過這個物件來使用,靜態變數則可以直接使用類名來引用。例如,對於下面的程式,無論建立多少個例項物件,永遠都只分配了乙個 staticint 變數,並且每建立乙個例項物件,這個 staticint 就會加 1 但是,每建立乙個例項物件,就會分配乙個 random,即可...