bellsky

只要你有勇气,你就可以将世界踩在脚下!

2015070702 - EffactiveJava笔记 - 第14条 共有类使用访问方法而非共有属性

   20150707 星期二  北京

   对于可变类来说,应用私有属性和公有set和get方法.从而保持封装数据.

   如果类在它所在的包的外部进行访问,那么提供访问方法,以保留将来改变该类的内部表示法的灵活性.

   如果共有类暴露它的属性,要想将来改变其内部表示法是不可能的,因为共有类的客户端代码已经遍布各处.然而如果类是包级私有,或者是内部类,直接暴露它的属性并没有本质上的错误.为什么呢?此类的代码注定包含在该类的包中,无法对包外的客户端造成影响;内部类改变的作用范围进一步压缩到类的内部,对类的外部没影响.

   如果共有类的属性是不可变的,危害性相对小点.可以在构造方法中对数据的有效性进行限制,同时增加约束条件,比如给每个实例增加有效时间.

   共有类永远不应该暴露可变的属性,让其暴露不可变属性危害小点.有时需要使用包级私有和内部类修饰属性,无论其可变还是不可变.

   {你如何使用上面的知识呢?

   1.共有类的属性进行私有化,然后提供共有的访问方法

   2.类的访问级别设置为包级或者内部类!}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhtzyh2012/article/details/46784307
文章标签: java
个人分类: 读书笔记
上一篇2015070701 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(3)
下一篇2015070703 - 7.7
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭