唐僧喜欢小龙女

导航

java 的反射机制和面向对象的封装性 是不是矛盾的 怎么理解 两个技术?

两种技术乍一看上去有点矛盾的

封装性告诉我们私有的 别的地方不能用,而反射呢告诉我们可以用私有的 这样看不就白封装了吗 

两者之间不矛盾

对于封装性我们 设计一个类的时候 属性 方法 构造器等等 该私有的时候私有(private) 该 公共的时候公共(public)

封装性给我们的启示是:当我们看到一个类写了一些私有的方法,一些公共的方法时 就告诉我们私有的方法就不要用了

就用公共的方法就可以了 因为私有的方法可能类内部用了 这里体现了封装性。比如单例模式  你要想造对象 就不要用

私有的构造器了 我已经把对象造好了直接用就行

 

反射 告诉我们可以调 但是不建议调私有的方法,因为可能公共的方法更好 加了一些逻辑 。

 

封装性解决的问题是 建议 调那个的问题 公共的调就可以了 私有的不要掉了就 私有的属性不建议你直接修改 建议你通过get set方法修改。

反射解决的是能不能调的问题

所以两者不矛盾。

 

posted on 2019-11-19 14:56  与时具进&不忘初心  阅读(939)  评论(0编辑  收藏  举报