可以使用的字段
Annotation
,public
,private
,protected
,static
,final
,transient
,volatile
注解和四種權(quán)限不講
static
只存在一份實(shí)例淋叶,類加載時(shí)候初始化。比較容易理解
final
一個(gè)空的Final類必須定義
public class Test{
final int a;
// final static int a;
// static {
// a = 1;
//}
Test(){
a=1;
}
public static void main(String[] args) {
}
}
transient
使用后不被序列化
volatile
Java是允許線程訪問變量的。為保證共享的變量的事務(wù)书聚,每一個(gè)線程需要確保對變量加鎖。
然后Java提供了第二種機(jī)制,volatile
關(guān)鍵字雌续。這個(gè)變量的內(nèi)存模型會(huì)確保所有的線程的訪問的都是一個(gè)一致的變量斩个。
當(dāng)然如果一個(gè)本身就不可以修改的final
值添加該關(guān)鍵字會(huì)在編譯時(shí)期報(bào)錯(cuò)。