标签:
访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。
很多时候我们需要重构代码使之更可读,更易理解,更具维护性,但是又不能影响到客户端程序员的正常使用。我们根本不知道客户端程序员使用了哪些东西(方法),所以我们也不知道哪些东西可以改,为了解决这个问题,java提供了访问权限修饰词。访问修饰词加上包结构使得构件的捆绑和使用机制非常完善,不产生冲突。
6.1 包:库单元
用包来分隔管理不同的类。
不同包下的类需要导入,就是为了提供一个管理名字空间的机制。package 和 import就是为了解决名称冲突问题。C中有条件编译使得不改变代码就可以切换产生不同行为(主要用来跨平台)。Java中不需要这种功能,因为java本身就是跨平台的。
6.2 Java访问权限修饰词
6.2.1包访问权限
即不使用任何访问修饰词,它使得同一包内的类可以彼此轻松相互作用。
类控制了哪些代码可以访问自己的成员。取得对类成员访问权限的途径仅有:
1.该成员是public
2.不加访问修饰词的成员可被同包类访问
3.继承可以访问protected成员
4.通过get/set访问
6.2.2 public 接口访问权限
6.2.3 private 你无法访问
6.2.4 protected 继承访问权限
6.3 接口和实现
访问权限控制就是隐藏具体实现,就是封装。
6.4类的访问权限
只可以是public或者包权限。
标签:
原文地址:http://www.cnblogs.com/superzhao/p/4801420.html