兩種技術乍一看上去有點矛盾的
封裝性告訴我們私有的 別的地方不能用,而反射呢告訴我們可以用私有的 這樣看不就白封裝了嗎
兩者之間不矛盾
對於封裝性我們 設計一個類的時候 屬性 方法 構造器等等 該私有的時候私有(private) 該 公共的時候公共(public)
封裝性給我們的啟示是:當我們看到一個類寫了一些私有的方法,一些公共的方法時 就告訴我們私有的方法就不要用了
就用公共的方法就可以了 因為私有的方法可能類內部用了 這里體現了封裝性。比如單例模式 你要想造對象 就不要用
私有的構造器了 我已經把對象造好了直接用就行
反射 告訴我們可以調 但是不建議調私有的方法,因為可能公共的方法更好 加了一些邏輯 。
封裝性解決的問題是 建議 調那個的問題 公共的調就可以了 私有的不要掉了就 私有的屬性不建議你直接修改 建議你通過get set方法修改。
反射解決的是能不能調的問題
所以兩者不矛盾。