一 访问控制符介绍
Java提供了3个访问控制符:private,protected,public分别代表了3个访问控制级别,另外还有一个不加任何控制符的访问控制级别,提供了4个访问控制级别,Java的访问控制级别由小到大如下图

细说Java访问控制符_外部类

二 4个访问控制级别说明
private:私有的,在同一个类里能被访问。
default:默认的,在同一个包里能够访问。
protected:受保护的,子类中也能访问。
public:公共的,在任何地方都可以访问。

  private default protected public
同一类中 细说Java访问控制符_成员变量_02 细说Java访问控制符_成员变量_02 细说Java访问控制符_成员变量_02 细说Java访问控制符_成员变量_02
同一包中   细说Java访问控制符_成员变量_02 细说Java访问控制符_成员变量_02 细说Java访问控制符_成员变量_02
子类中     细说Java访问控制符_成员变量_02 细说Java访问控制符_成员变量_02
全局范围       细说Java访问控制符_成员变量_02


三 4个访问控制符的基本原则

  • 类里的绝大部分成员变量都应该使用private修饰,只有一些static修饰的、类似全局变量的成员变量,才可能考虑使用public修饰。除此之外,有些方法只用于辅助实现该类的其他方法,这些方法被称为工具方法,工具方法也应该使用private修饰。
  • 如果某个类主要做其他类的父类,该类里包含的大部分方法可能仅希望被其子类重写,而不想被外界直接调用,则应该使用protected修饰这些方法。
  • 希望暴露出来给其他类自由调用的方法应该使用public修饰,因此,类的构造器通过使用public修饰,从而允许在其他地方创建该类的实例。因为外部类通常希望被其他类自由使用,所以大部分外部类都使用public修饰。