在任何相互关系中,具有关系所涉及的各方面都遵守的边界是十分重要的事情。
访问控制的第一个存在原因就是让客户端程序员无法触及他们不应该触及的部分--这些部分对数据类型的内部操作来说是必须的,但并不是用户解决特定问题所需的接口的一部分。第二个存在的原因就是允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员。
Java用三个关键字在类的内部设定边界(这些访问指定词决定了紧跟其后被定义的东西可以被谁使用):
1、public
表示紧随其后的元素对任何人都是可用的
2、private
表示除类型创建者和类型的内部方法之外的任何人都不能访问的元素。private就像你与客户端程序员之间的一堵墙,如果有人视图访问private成员,就会在编译时得到错误信息。
3、protected
protected关键字与private作用相当,差别仅在于继承的类可以访问protected成员,但是不能访问private成员。
Java还有一种默认的访问权限--default,当没有使用前面提到的任何访问指定词时,它将发挥作用。这种权限通常被称为包访问权限,因为在这种权限下,类可以访问在同一个包(库构件)中的其他类的成员,但是在包之外,这些成员如同指定了private一样。
原文:https://www.cnblogs.com/heshunxing/p/9991876.html