被隐藏的具体实现
将程序开发人员按照角色分为类创建者(创建新数据类型)
客户端程序员(在其应用中使用数据类型的类消费者)
客户端程序员的目标是收集各种用来实现快速应用开发的类
类创建者的目标是创建类,这种类只向客户端程序员暴露必须的部分,而隐藏其他部分
访问控制让客户端程序员无法触及他们不应该触及的部分--这些部分对数据类型的内部操作来说是必需的,但并不是用户解决特定问题所需的接口的一部分
访问控制允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员
public、private、protected三个关键字在类的内部设定边界,这些访问指定词(access specifier)决定了紧跟其后被定义的东西可以被谁使用
public表示紧随其后的元素对任何人都是可用的
private表示除类型创建者和类型的内部方法之外的任何人都不能访问的元素(试图访问会在编译时得到错误信息)
protected和private作用相当,差别仅在于继承的类可以访问protected成员,但不能访问private成员
JAVA默认访问权限(包访问权限),类可以访问在同一个包(库构件)中的其他类的成员,但是在包之外,这些成员如同指定了private一样。