2015070508 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(2)
来源:互联网 发布:路由器做淘宝客 编辑:程序博客网 时间:2024/06/07 08:38
Java那些机制完成信息隐藏呢?
1.访问控制决定类,接口,成员的可访问性;
2.对象的可访问性由该对象声明所在的位置,以及修饰对象的访问控制修饰符共同决定.
第一规则:尽可能使每个类或者成员不被外界访问.(要做大家闺秀,不需要所有的人知道你,必要几个知道你即可! 尽可能最小的访问级别!)
顶层(非嵌套,应该是内部类)类和接口,只有两种访问级别:包级私有(package)和公开(public)的.
被public修饰顶层类或者接口,那它就是共有的.你就有责任永远支持它,保持它们的兼容性.(感触:如果你的类和接口只在内部使用,千万不要设置为共有,防止其他人使用,一旦别人使用,你修改起来非常棘手!)
包级私有的类和接口,它就是包实现内容,而不是该包导出API的组成,在以后发行版本中可以修改,替换或者删除,无需担心影响现有客户端.(感触:从此处可以看出,模块升级到包级别!)
如果一个包级私有的顶层类(或者接口)只在某个类内部被用到,应该考虑使它成为使用它的类的内部类.
好处在于它的访问级别从包内所有类降低到类内部,降低不必要共有类的可访问性,比降低包级私有的顶层类更重要.因为共有类是包的API,而包级私有的顶层类则是包的实现部分.
成员,属性,方法,内部类,内部接口四种访问级别.
类 包 子类 公共
private 是 否 否 否
包 是 是 否 否
protected 是 是 是 否
public 是 是 是 是
private,只有在声明该成员的类内部才可以访问这个成员;
包级私有,(修饰符什么都没有),声明该成员的包内部的任何类都可以访问这个成员;
protected,声明该成员的类的子类可以访问这个成员,该成员的包内部的任何类同样可以访问这个成员
public,在任何地方都可以访问该成员.
- 2015070508 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(2)
- 2015070601 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(2)
- 2015070507 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(1)
- 2015070701 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(3)
- 读 effective java 第12条 :使类和成员的可访问能力最小
- 2015070705 - EffactiveJava笔记 - 第15条 使可变性最小(2)
- 第13条:使类和成员的可访问性最小化
- Effective Java 第13条 : 使类和成员的可访问性最小化
- 第13条:使类和成员的可访问性最小化
- 第13条:使类和成员的可访问性最小化
- 《Effective java》读书记录-第13条-使类和成员的可访问性最小化
- 第13条:使类和成员的可访问性最小化
- 第13条:使用类和成员的可访问性最小化
- 2015070704 - EffactiveJava笔记 - 第15条 使可变性最小(1)
- 第13条 类与接口——使类和成员的可访问性最小化
- 第12条:使类和成员的可访问能力最小化
- 2015070103 - EffactiveJava笔记 - 第47条 了解和使用类库(2)
- 学习effective java-13类和接口之使类和成员的可访问性减少到最小
- 东汤镇纪行
- [转]SQL语句优化技术分析
- 23岁生日
- JAVA基础-程序的基本结构、函数与数组
- HDU4622:Reincarnation(后缀数组,求区间内不同子串的个数)
- 2015070508 - EffactiveJava笔记 - 第13条 使类和成员的可访问性最小(2)
- 调试 之gdb thread命令 与 ltrace/strace
- HDU2553N皇后问题(BFS)
- Codeforces 238E. Meeting Her 图论+记忆化搜索
- 2015070509 - 看书效率
- 管理定律-管人用人育人留人之道
- HDU4630:No Pain No Game(线段树)
- 2015070510 - 挑战失败
- Lua53