Java 访问指示符 poublic,protected 以及 private 都置于方法或数据成员的前面。每 个访问指示符都只控制着对那个特定定义的访问
public: 用public修饰的类、类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问;
protected: 用protected修饰的类、类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问
protected 关键字为我们引入了一种名为“继承”的概念,它以现有的类为 基础,并在其中加入新的成员,同时不会对现有的类产生影响——我们将这种现 有的类称为“基础类”或者“基本类”(Base Class)。亦可改变那个类现有成员 的行为。对于从一个现有类的继承,我们说自己的新类“扩展”(extends)了那 个现有的类,protected重点突出继承;
default:如果根本不指定访问指示符,这时会出现什 么情况呢?默认的访问没有关键字,但它通常称为“友好”(Friendly)访问。 这意味着当前包内的其他所有类都能访问“友好的”成员,但对包外的所有类来 说,这些成员却是“私有”(Private)的,外界不得访问。default重点突出包;
private:private 关键字意味着除非那个特定的类,而且从那个类的方法里,否则没 有人能访问那个成员。同一个包内的其他成员不能访问 private 成员,这使其显 得似乎将类与我们自己都隔离起来。另一方面,也不能由几个合作的人创建一个 包。所以 private 允许我们自 由地改变那个成员,同时毋需关心它是否会影响同 一个包内的另一个类