》》将程序的开发人员按角色分为类创建者(那些创建新数据类型的程序员)和客户端程序员(那些在其应用中使用数据类型的类消费者)。
》》客户端程序员的目标是收集各种用来实现快速应用开发的类。
类创建者的目标是构建类,这种类向客户端程序员暴露必须的部分,而隐藏其他部分。
》》访问控制的第一个存在原因就是:让客户端程序员无法触及他们不应该触及的部分-------这些部分对数据类型的内部操作来说是必需的,
但并不是用户解决特定问题所需的接口的一部分。这对客户端程序员来说其实是一项服务,因为他们可以很容易的地看出哪些东西对他们
来说是很重要的,而哪些东西可以忽略。
》》访问控制的第二个存在原因:允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员。
》》你可能为了减轻开发任务而以某种简单的方式实现了某个特定类,但稍后发现你必须改写它才能使其运行得更快。如果接口和实现可以
清晰地分离并得以保护,那么你就可以轻而易举地完成这项工作。
》》Java 用三个关键字在类的内部设定边界:public 、 private 、protected。
public : 表示紧跟其后的元素对任何人都是可用的;
private :表示除类型创建者和类型的内部方法之外的任何人都不能访问的元素;
protected 与 private 作用相当,差别仅仅在于继承的类可以访问 protected 成员,但是不能访问 private 成员。
补充:java还有一种默认的访问权限,当没有使用前面提到的任何访问指定词时,它将发挥作用。这种权限通常被称为包访问权限,因为在
这种权限下,类可以访问在同一个包(库构件)中的其他类的成员,但是在包之外,这些成员如同指定了 private 一样。