《Effective java》讀書記錄-第13條-使類和成員的可訪問性最小化

來源:互聯網
上載者:User

要區別設計良好的模組與設計不好的模組,重要因素在於,這個模組對於外部的其他模組而言,是否隱藏其內部資料和其他實現細節。這個概念被稱為資訊隱藏(information hiding)或封裝(encapsulation)。

只所以要資訊隱藏,是因為它可以有效地解除組成系統的各模組之間的耦合關係,使得這些模組可以獨立地開發、測試、最佳化、使用、理解和修改。資訊隱藏雖然不能帶來更好的效能,但是它可以有效調節效能:一旦完成一個系統,並確定哪些模組影響了系統效能(最佳化準則 見第55條),那些模組最佳化後,並不會影響其他模組的正確性。資訊隱藏還可以提高模組的重用性。資訊隱藏也降低了構建大型系統的風險,即使整個系統不可用,但這些獨立模組卻有可能是可用的。

正確使用修飾符對於資訊隱藏非常關鍵。

存取控制機制決定了類、介面和成員的可訪問性。實體的可訪問性由該實體聲明所在的位置,以及該實體聲明中所出現的存取修飾詞共同決定。

1.儘可能地使每個類或者成員不被外界訪問

對於成員有4種可能的存取層級:

1、私人的(private):只有內部才可以訪問。

2、包級私人(package-private):預設(default)存取層級,包內部的類都可以訪問。

3、受保護的( protected):允許子類及所在包的類都允許訪問。

4、公有的(public):任何地方都可以訪問。

只有當其他類真正需要訪問該類的成員時,才應該修改private修飾符。

如果實現了 Serializable介面,這些私人域就有可能被“泄漏”到API。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.