用法:程式執行後不再改變的量定義為常量 用final修飾,名字要全部大寫(不全部大寫也不會報錯,只是規範問題)。
相對應得程式執行中需要改變的量就定義成靜態變數,需要注意的是如果是多處引用了此靜態變數,那麼一旦改變各處的引用都會改變。可能會引起問題,需要注意。
稍微深層次理解:常量是存在於方法區的常量區,類沒載入的時候也可以使用。看下面**
//定義常量和靜態變數的類
public class teststaticandfinal
public static string static_value = "靜態變數";
public static final string final_value = "常量";
}//測試類
public class testone
}//輸出結果
常量類載入。。。
靜態變數
//接下來改變main方法中的輸出順序
public class testone
}//輸出值
類載入。。。
靜態變數
常量//靜態變數使用前會載入類,常量使用就不需要
暫時我就理解到這個程度,如果基礎不是太好的人就先記住用法吧。
最後歡迎**!
java中靜態變數和非靜態變數的區別
靜態變數前有static關鍵字修飾。1.記憶體分配 靜態變數在應用程式初始化時,就存在於記憶體當中,直到它所在的類的程式執行結束時才消亡 非靜態變數需要被例項化後才會分配記憶體。2.生存週期 靜態變數生存週期為應用程式的存在週期 非靜態變數的存在週期取決於例項化的類的存在週期。3.呼叫方式 靜態變數...
Java靜態變數和非靜態變數
記憶體分配 靜態方法和靜態變數建立之後一直使用同一塊記憶體,是連續的。非靜態方法會存在於記憶體的多個地方,是離散的。生命週期 靜態變數的生存週期是應用的生存週期。非靜態變數的存在週期取決於例項化的類的存在週期。呼叫方式 靜態變數只能是 class.靜態變數 來呼叫,類的例項不能呼叫。非靜態變數在變數...
靜態變數和常量的區別
共同點 1 static和const在編譯時直接分配記憶體。區別 1 本質 static是型別引用,const是例項引用。2 初始化 靜態變數的初始值必須是乙個常量。靜態初始值預設為0,而常量也預設為0 嗎?3 賦值 靜態變數的值在執行時可以更改賦值,而常量的值是不可改變的,執行一開始已經固定,之後...