java访问权限 public private protected
作者:yan
1. Java中的訪問控制
表1-1
?
| 可見/訪問性 | 在同一類中 | 同一包中 | 不同包中? | 同一包子類中? | 不同包子類中? |
| ?public | ?yes | ?yes | ?yes | ?yes | ?yes |
| ?protected? | ?yes | ?yes | ?no | ?yes | ?yes |
| ?package? | ?yes | ?yes | ?no | ?yes | ?no |
| ?private | ?yes | ?no | ?no | ?no | ?no |
?
(1) 在java中有public、protected、private三種顯示的修飾符用于控制可見性,package不是顯示的修飾符,它是隱含的,即如果在類、變量等前沒加顯示的可見性修飾符,那它就是package級別的。如果在類的定義中沒有指定package,那么java會把它放在缺省包中,一般來說這個缺省的包就是當前目錄。
(2) 在子類中的方法如果重載了父類的方法,那么該方法的可見級別應更底或者相同,如父類中的方法是public,那么子類中方法必須是public。
(3) 在java中,一般來說,變量成員最好是private,對它們的訪問可以通過public的方法,在這些方法中可以做些控制以保證數據的一致性。這些方法名一般以get和set做為前綴。
Java中的訪問權限有public,private,protected和默認的包訪問權限,如果類中的屬性方法沒有顯示的指明訪問權限,則具有包訪問權限,可稱它為packeged權限,很多人也稱它為friendly訪問權限,而packaged和friendly這兩個關鍵字在實際中都是不存在的,即默認值。
在說明這四個關鍵字之前,我想就class之間的關系做一個簡單的定義,對于繼承自己的class,base class可以認為他們都是自己的子女,而對于和自己一個目錄下的classes,認為都是自己的朋友(友元)。
1.???public??表明該數據成員、成員函數是對所有用戶開放的,所有用戶都可以直接進行調用。
2.???private??表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3.???protected?對于子女、朋友來說,就是public?的,可以自由使用,沒有任何限制,而對于其他的外部class,protected就變成private?。
4.???friendly修飾的類叫友元類,在另外一個類中使用友好類創建對象時,要保證它們在同一包中,就是說在一個包內的類互為友元類。
總結
以上是生活随笔為你收集整理的java访问权限 public private protected的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万国觉醒腓特烈一世天赋点和英雄搭配
- 下一篇: jquery实现对radio赋值