java 的反射機制和面向對象的封裝性 是不是矛盾的 怎么理解 兩個技術?


兩種技術乍一看上去有點矛盾的

封裝性告訴我們私有的 別的地方不能用,而反射呢告訴我們可以用私有的 這樣看不就白封裝了嗎 

兩者之間不矛盾

對於封裝性我們 設計一個類的時候 屬性 方法 構造器等等 該私有的時候私有(private) 該 公共的時候公共(public)

封裝性給我們的啟示是:當我們看到一個類寫了一些私有的方法,一些公共的方法時 就告訴我們私有的方法就不要用了

就用公共的方法就可以了 因為私有的方法可能類內部用了 這里體現了封裝性。比如單例模式  你要想造對象 就不要用

私有的構造器了 我已經把對象造好了直接用就行

 

反射 告訴我們可以調 但是不建議調私有的方法,因為可能公共的方法更好 加了一些邏輯 。

 

封裝性解決的問題是 建議 調那個的問題 公共的調就可以了 私有的不要掉了就 私有的屬性不建議你直接修改 建議你通過get set方法修改。

反射解決的是能不能調的問題

所以兩者不矛盾。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM