protected:“友好的一種” |
發(fā)布時間: 2012/9/1 17:13:05 |
protected(受到保護(hù)的)訪問指示符要求大家提前有所認(rèn)識。首先應(yīng)注意這樣一個事實:為繼續(xù)學(xué)習(xí)本書一 然,如果在相同的包里進(jìn)行繼承,那么繼承獲得的包能夠訪問所有“友好”的成員。有些時候,基礎(chǔ)類的創(chuàng) 建者喜歡提供一個特殊的成員,并允許訪問衍生類。這正是protected 的工作。若往回引用5.2.2 小節(jié) “public:接口訪問”的那個Cookie.java 文件,則下面這個類就不能訪問“友好”的成員: //: ChocolateChip.java // Can't access friendly member // in another class import c05.dessert.*; public class ChocolateChip extends Cookie { public ChocolateChip() { System.out.println( "ChocolateChip constructor"); } public static void main(String[] args) { ChocolateChip x = new ChocolateChip(); //! x.foo(); // Can't access foo } } ///:~ 對于繼承,值得注意的一件有趣的事情是倘若方法foo()存在于類Cookie 中,那么它也會存在于從Cookie 繼承的所有類中。但由于foo()在外部的包里是“友好”的,所以我們不能使用它。當(dāng)然,亦可將其變成 public。但這樣一來,由于所有人都能自由訪問它,所以可能并非我們所希望的局面。若象下面這樣修改類 Cookie: public class Cookie {
public Cookie() { 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |