您好,登錄后才能下訂單哦!
一個Java應用有很多類,但是有些類,并不希望被其他類使用。每個類中都有數據成員和方法成員,但是并不是每個數據和方法,都允許在其他類中調用。如何能做到訪問控制呢?就需要使用訪問權限修飾符。
Java語言定義了public、protected、private、abstract、static和final這6常用修飾詞外還定義了5個不太常用的修飾詞,下面是對這些Java修飾詞的介紹:
1、public使用對象:類、接口、成員介紹:無論它所處在的包定義在哪,該類(接口、成員)都是可訪問的。
2、private使用對象:成員介紹:成員只可以在定義它的類中被訪問。
3、static使用對象:類、方法、字段、初始化函數介紹:成名為static的內部類是一個頂級類,它和包含類的成員是不相關的。靜態方法是類方法,是被指向到所屬的類而不是類的實例。
靜態字段是類字段,無論該字段所在的類創建了多少實例,該字段只存在一個實例被指向到所屬的類而不是類的實例。初始化函數是在裝載類時執行的,而不是在創建實例時執行的。
4、final使用對象:類、方法、字段、變量介紹:被定義成final的類不允許出現子類,不能被覆蓋(不應用于動態查詢),字段值不允許被修改。
5、abstract使用對象:類、接口、方法介紹:類中包括沒有實現的方法,不能被實例化。如果是一個abstract方法,則方法體為空,該方法的實現在子類中被定義,并且包含一個abstract方法的類必須是一個abstract類。
6、protected使用對象:成員介紹:成員只能在定義它的包中被訪問,如果在其他包中被訪問,則實現這個方法的類必須是該成員所屬類的子類。
7、native使用對象:成員介紹:與操作平臺相關,定義時并不定義其方法,方法的實現被一個外部的庫實現。
8、strictfp使用對象:類、方法介紹:strictfp修飾的類中所有的方法都隱藏了strictfp修飾詞,方法執行的所有浮點計算遵守IEEE754標準,所有取值包括中間的結果都必須表示為float或double類型,而不能利用由本地平臺浮點格式或硬件提供的額外精度或表示范圍。
9、synchronized使用對象:方法介紹:對于一個靜態的方法,在執行之前jvm把它所在的類鎖定;對于一個非靜態類的方法,執行前把某個特定對象實例鎖定。
10、volatile使用對象:字段介紹:因為異步線程可以訪問字段,所以有些優化操作是一定不能作用在字段上的。
volatile有時可以代替synchronized。
11、transient使用對象:字段介紹:字段不是對象持久狀態的一部分,不應該把字段和對象一起串起。
以上就是java修飾符是什么?的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。