Java 的访问控制符
Java 提供了三个访问控制符:private、protected 和 public ,另外还有一个不加任何访问控制符的访问控制级别。
其四种访问级别关系由小到大为 private->default->protected->public
- private 访问控制级别:如果一个成员使用该控制符来修饰,则这个成员只能在该类的内部被访问。通常用于修饰属性,使用 private 来修饰属性可以把属性隐藏在类的内部。
- default 访问控制级别(包访问权限):若一个成员不适用任何控制修饰符,则称它为默认访问控制,default 访问控制成员可被相同包下其它类访问。
- protected 访问控制权限(子类访问权限):被修饰的成员既可被同一个包中其他类访问,也可被不同包中的子类访问。一般情况下,如果使用 protected 修饰一个方法,通常是希望其子类来重写这个方法。
- public 访问控制权限(公共访问权限):是最宽松的访问控制级别,被 public 修饰的成员可被所有类访问。
对以上所述用表格来表示的话,便是这个样子的:
作为 Java 的学习者,有关访问控制符的使用原则务必了解:
- 类中的绝大部分属性都应该使用 private 修饰,除了一些 static 修饰的、类似全局变量的属性。还有一些方法只是用于辅助实现该类的其他方法,这些方法被称为工具方法,工具方法也应该使用 private 修饰。
- 若某个类主要用于其他类的父类,该类里包含大部分方法可能仅希望子类进行重写,而不想被外界调用,则应该使用 protected 修饰这些方法。
- 希望暴露出来给其他类自由调用的方法应该使用 public 修饰。