面向?qū)ο蟮幕舅枷胫皇?
封裝實(shí)現(xiàn)細(xì)節(jié)并
公開(kāi)接口。 Java語(yǔ)言采用訪(fǎng)問(wèn)控制修飾符來(lái)控制類(lèi)及類(lèi)的方法和變量的訪(fǎng)問(wèn)權(quán)限,從而只向使用者暴露接口,但隱藏實(shí)現(xiàn)細(xì)節(jié)。
??
??? Java中共有4種訪(fǎng)問(wèn)控制級(jí)別:
- ?公開(kāi)級(jí)別:??? public, 對(duì)外公開(kāi);
- ?受保護(hù)級(jí)別:? protected,向子類(lèi)及同一個(gè)包中的類(lèi)公開(kāi);
- ?默認(rèn)級(jí)別: ?? 沒(méi)有訪(fǎng)問(wèn)控制修飾符, 向同一個(gè)包中的類(lèi)公開(kāi),也稱(chēng)為包訪(fǎng)問(wèn)權(quán)限
- ?私有級(jí)別: ?? private, 只有類(lèi)本身可以訪(fǎng)問(wèn), 不對(duì)外公開(kāi)。 ?
?? 4種訪(fǎng)問(wèn)級(jí)別的可訪(fǎng)問(wèn)范圍
?訪(fǎng)問(wèn)級(jí)別 | ?訪(fǎng)問(wèn)控制修飾符 | ?同類(lèi) | ?同包 | ?子類(lèi) | 不同的包
|
?公開(kāi) | ?public | 可以 | 可以 | 可以 | 可以
|
?受保護(hù) | ?protected | 可以 | 可以 | 可以 |
|
?默認(rèn)(包) | 無(wú)? | 可以 | 可以 | ? |
|
?私有 | ?private | 可以 | ? | ? |
|
??
??? 注:
??? ?? (1)成員變量、成員方法和構(gòu)造方法可以用4個(gè)訪(fǎng)問(wèn)級(jí)別中的任何一個(gè)去修飾;
??? ?
???? ? (2)類(lèi)(頂層類(lèi))只能處于public或默認(rèn)訪(fǎng)問(wèn)級(jí)別,因此頂層類(lèi)不能用private和protected來(lái)修改,如:
???????
private class Sample {...} //編譯出錯(cuò),類(lèi)不能被private修飾。
??????
??? ?? (3)訪(fǎng)問(wèn)級(jí)別僅適用于類(lèi)及類(lèi)的成員,而不適用于局部變量。
局部變量只能在方法內(nèi)部被訪(fǎng)問(wèn),不能用public, protected, private來(lái)修飾。
posted on 2006-11-29 00:47
EricWong 閱讀(562)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
Java