天天看點

public、protected、private、abstract、static和final

詞外還定義了5個不太常用的修飾詞,下面是對這11個Java修飾詞的介紹: 

1.public 

使用對象:類、接口、成員 

介紹:無論它所處在的包定義在哪,該類(接口、成員)都是可通路的 

2.private 

使用對象:成員 

介紹:成員隻可以在定義它的類中被通路 

3.static 

使用對象:類、方法、字段、初始化函數 

介紹:成名為static的内部類是一個頂級類,它和包含類的成員是不相關的。靜态方法 

是類方法, 

是被指向到所屬的類而不是類的執行個體。靜态字段是類字段,無論該字段所在的類建立了 

多少執行個體,該字 

段隻存在一個執行個體被指向到所屬的類而不是類的執行個體。初始化函數是在裝載類時執行 

的,而不是在建立 

執行個體時執行的。 

4.final 

使用對象:類、方法、字段、變量 

介紹:被定義成final的類不允許出現子類,不能被覆寫(不應用于動态查詢),字段值 

不允許被 

修改。 

5.abstract 

使用對象:類、接口、方法 

介紹:類中包括沒有實作的方法,不能被執行個體化。如果是一個abstract方法,則方法體 

為空,該方 

法的實作在子類中被定義,并且包含一個abstract方法的類必須是一個abstract類 

6.protected 

使用對象:成員 

介紹:成員隻能在定義它的包中被通路,如果在其他包中被通路,則實作這個方法的類 

必須是該成 

員所屬類的子類。 

7.native 

使用對象:成員 

介紹:與操作平台相關,定義時并不定義其方法,方法的實作被一個外部的庫實作。 

8.strictfp 

使用對象:類、方法 

介紹:strictfp修飾的類中所有的方法都隐藏了strictfp修飾詞,方法執行的所有浮點 

計算遵守 

IEEE 754标準,所有取值包括中間的結果都必須表示為float或double類型,而不能利用 

由本地平台浮 

點格式或硬體提供的額外精度或表示範圍。 

9.synchronized 

使用對象:方法 

介紹:對于一個靜态的方法,在執行之前jvm把它所在的類鎖定;對于一個非靜态類的方 

法,執行 

前把某個特定對象執行個體鎖定。 

10.volatile 

使用對象:字段 

介紹:因為異步線程可以通路字段,是以有些優化操作是一定不能作用在字段上的。 

volatile有時 

可以代替synchronized。 

11.transient 

使用對象:字段 

介紹:字段不是對象持久狀态的一部分,不應該把字段和對象一起串起。 來自:  http://hi.baidu.com/gaoxingang2008/blog/item/cd3f7883aec40cab0cf4d2ed.html