将程序开发人员按照角色分为类创建者和客户端程序员是很有好处的,客户端程序员的目标是收集各种用来实现快速应用开发的类,类创建者的目标是构建类,该类只想客户端程序员暴露必须的部分,而隐藏其他所有部分,被隐藏的部分通常代表对象内部脆弱的部分,因此将实现隐藏起来可以减少程序的bug.
访问控制的第一个存在原因就是让客户端程序员无法触及他们不应该触及的部分---这些部分对数据类型的内部操作来说是必须的,但并不是用户需要的用来解决特定问题的接口的一部分。这对用户来说其实是一项服务,因为他们可以很容易的看出哪些东西对他们来说很重要,而那些东西可以忽略。
访问控制的第二个存在原因就是允许库设计者可以改变类内部的工作方式而不用担心是否会影响到客户端程序员。
Java使用3个关键字来在类的内部设定边界:public 、private、protected。
public表示紧随其后的元素对任何人都是可用的
private表示除类型创建者和该类型的内部方法之外的任何人都不能访问的元素。
protected相当于private,差别在于继承类可以访问protected成员,但是不能访问private成员。
default默认访问权限,可以访问在同一个包中的其他类的成员。
访问控制的第一个存在原因就是让客户端程序员无法触及他们不应该触及的部分---这些部分对数据类型的内部操作来说是必须的,但并不是用户需要的用来解决特定问题的接口的一部分。这对用户来说其实是一项服务,因为他们可以很容易的看出哪些东西对他们来说很重要,而那些东西可以忽略。
访问控制的第二个存在原因就是允许库设计者可以改变类内部的工作方式而不用担心是否会影响到客户端程序员。
Java使用3个关键字来在类的内部设定边界:public 、private、protected。
public表示紧随其后的元素对任何人都是可用的
private表示除类型创建者和该类型的内部方法之外的任何人都不能访问的元素。
protected相当于private,差别在于继承类可以访问protected成员,但是不能访问private成员。
default默认访问权限,可以访问在同一个包中的其他类的成员。