Java编程思想:第6章 访问权限控制

访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。

很多时候我们需要重构代码使之更可读,更易理解,更具维护性,但是又不能影响到客户端程序员的正常使用。我们根本不知道客户端程序员使用了哪些东西(方法),所以我们也不知道哪些东西可以改,为了解决这个问题,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或者包权限。

原文地址:https://www.cnblogs.com/superzhao/p/4801420.html