访问控制符是一组限定类、域或方法是否可以被程序里的其他部分访问和调用的修饰符。具体地说,类及其属性和方法的访问控制符规定了程序的哪些其他部分可以访问和调用它们,哪些不可以。这里的其他部分是指程序里这个类之外的其他类,无论修饰符如何定义,一个类总能够访问和调用它自己的域和方法,但是这个类之外的其他部分能否访问这个类的域或方法,就要看该域和方法以及它所属的类的访问控制符了。
类的访问控制符只有一个 public 。
域和方法的访问控制符有四个,分别为 public 、 private 、 protected 、 private protected ,另外还有一种没有定义专门的访问控制符的缺省情况。
1. 公共访问控制符 public :如果一个类被声明为公共类,表明它可以被所有的其
它类所访问和引用。用 public 修饰的类的域称为公共域。如果公共域属于一个公共类,则它可以被所有的其他类所引用。
2. 私有访问控制符 private :用 private 修饰的成员变量 ( 域 ) 只能被该类自身所访
问,而不能被任何其它类 ( 包括子类 ) 所引用。
3. 保护访问控制符 protected :用 protected 修饰的成员变量可以被三种类所引用:
该类自身;与它在同一个包中的其它类;在其它包中的该类的子类。使用修饰符 protected 的主要作用是允许其它包中它的子类来访问父类的特定属性。
4. 私有保护访问控制符 private protected :用修饰符 private protected 修饰的成
员变量可以被该类本身或该类的子类两种类访问和引用。不论这些子类是与该类在同一个包里,还是处于其他的包中,相对于 protected , private protected 修饰符把同一包内的非子类排除在可访问的范围之外,使得成员变量更专用于具有明确继承关系的类,而不是松散地组合在一起的包。
5. 缺省访问控制符:如果一个类没有访问控制符,说明它具有缺省的访问控制符
特性。此时,这个类只能被同一个包中的类访问或引用。这一访问特性又称为包访问性。