靜態變數,非靜態變數和final變數

2021-07-27 23:33:18 字數 929 閱讀 4702



package com.founder.bg.quartz.job;

/**7  * 在程式執行時的區別:例項變數屬於某個物件的屬性,必須建立了例項物件,

8  * 其中的例項變數才會被分配空間,才能使用這個例項變數。靜態變數不屬於某

9  * 個例項物件,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼,

10  * 不用建立任何例項物件,靜態變數就會被分配空間,靜態變數就可以被使用了。

11  * 總之,例項變數必須建立物件後才可以通過這個物件來使用,靜態變數則可以

12  * 直接使用類名來引用。例如,對於下面的程式,無論建立多少個例項物件,

13  * 永遠都只分配了乙個staticint變數,並且每建立乙個例項物件,

14  * 這個staticint就會加1;但是,每建立乙個例項物件,就會分配乙個random

15  * 即可能分配多個random,並且每個random的值都只自加了1次。

16  *

17  * @author mailto:[email protected]">hongten>

18  * @date 2013-3-2

19  */

class test

public static void main(string args)

}執行結果

staticint=3random=3

staticint=4random=3

另外如果這樣宣告:

private static int staticint = 2;

那麼staticint ++就報錯了;

因為final成員變數表示常量,只能被賦值一次,賦值後值不再改變。

靜態變數和非靜態變數

class string1 a和b編譯報錯,can not make a static referrence to no static filed s3,s4 分析 string s1 pingguo string s2 xiangjiao string s3 new string lizi str...

Static靜態變數和非靜態變數

static靜態變數 不同的物件共享這個變數的儲存空間 而不是靜態變數 每個物件具有可變的儲存器空間 public class staticdemo public static void main string args 結果 11 1213 非靜態輸出都是一樣的 靜態的一直在新增 static函式...

Java靜態變數和非靜態變數

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