最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

java 核心技術(shù)-12版 卷Ⅰ- 4.3.9 基于類的訪問權(quán)限

2023-03-21 21:34 作者:CC挑燈夜讀_谷  | 我要投稿

4.3.9 基于類的訪問權(quán)限

?從前面已經(jīng)知道,方法可以訪問調(diào)用這個方法的對象的私有數(shù)據(jù)。一個類的方法可以訪問這個類的所有對象的私有數(shù)據(jù),這令很多人感到奇怪。例如,下面來看用來比較兩個員工的equals 方法。

????下面是一個典型的調(diào)用:

if(harry .equals(boss)) ...

這個方法訪問harry的私有字段,這并不讓人奇怪,不過,它還訪問了boss 的私有字段。這是合法的,其原因是boss 是Employee 類型的對象,而Employee類的方法可以訪問任何Employee 類型對象的私有字段。

C++ 注釋: C++也有同樣的規(guī)則。方法可以訪問所屬類任何對象的私有特性(feature),而不僅限于隱式參數(shù)。



4.3.10 私有方法

????實(shí)現(xiàn)一個類時(shí),我們會將所有實(shí)例字段都設(shè)置為私有字段,因?yàn)楣矓?shù)據(jù)很危險(xiǎn)。不過,方法又應(yīng)該如何設(shè)置呢?盡管大多數(shù)方法都是公共的,但在某些情況下,私有方法可能很有用。有時(shí),你可能讓希望將一個計(jì)算代碼分解成若干個獨(dú)立的輔助方法。通常,這些方法不應(yīng)該成為公共接口的一部分,這是因?yàn)樗鼈兺c當(dāng)前實(shí)現(xiàn)關(guān)系非常緊密,或者需要一個特殊協(xié)議或調(diào)用次序。最好將這樣的方法實(shí)現(xiàn)為私有方法。

????在Java中,要實(shí)現(xiàn)一個私有方法,只需要將關(guān)鍵字public改為private即可。

????如果將一個方法設(shè)置為私有,倘若你改變了方法的具體實(shí)現(xiàn),并沒有義務(wù)保證這個方法依然可用。如果數(shù)據(jù)的表示發(fā)生了變化,那么這個方法可能變得更難實(shí)現(xiàn),或者不再需要;這并不重要。重點(diǎn)在于,只要方法是私有的,類的設(shè)計(jì)者就可以確信它不會在別處使用,所以可以將其刪去。如果一個方法是公共的,就不能簡單地將其刪除,因?yàn)榭赡軙衅渌a依賴這個方法。

????

4.3.11?final實(shí)例字段

????可以將實(shí)例字段定義為final 。這樣的字段必須在構(gòu)造對象時(shí)初始化。也就是說,必須確保在每一個構(gòu)造器執(zhí)行之后,這個字段的值已經(jīng)設(shè)置,并且以后不能再修改這個字段。例如,將Employee類中的name字段聲明為final,因?yàn)樵趯ο髽?gòu)造之后,這個值不會再改變,即沒有setName方法。

????

????final 修飾符對于類型為基本類型或者不可變類的字段尤其有用。(如果類中的所有方法都不會改變其對象,這樣的類就是不可變類。例如,String 類就是不可變類。)

????對于可變類,使用final修飾符可能會造成混亂。例如,考慮以下字段:

????

????它在構(gòu)造器中初始化為

final 關(guān)鍵字指示表示存儲在 evaluations 變量中的對象引用不會再指向另一個不同的StringBuild對象。不過這個對象可以更改:

????evaluations.append("abc");


java 核心技術(shù)-12版 卷Ⅰ- 4.3.9 基于類的訪問權(quán)限的評論 (共 條)

分享到微博請遵守國家法律
固始县| 交口县| 日照市| 大渡口区| 锡林郭勒盟| 神农架林区| 棋牌| 双桥区| 德令哈市| 二手房| 八宿县| 萝北县| 平舆县| 青阳县| 阿勒泰市| 郯城县| 油尖旺区| 禹城市| 铜川市| 新余市| 台北市| 安远县| 张北县| 边坝县| 翁源县| 乡城县| 新巴尔虎右旗| 商都县| 靖宇县| 随州市| 新乡市| 上栗县| 通海县| 博客| 伊宁市| 漠河县| 界首市| 丹寨县| 中卫市| 宝丰县| 丽水市|