//先拿個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,即可...