java中的类访问控制符分四种:public protected friendly(缺省) private
public最简单:使用范围可以是同一个类,同包的子类和非子类,不同包的子类和非子类
protected:使用范围可以是同一个类,同包的子类和非子类
friendly(最复杂):使用范围可以是同一个类,同包的子类和非子类,尤其要注意在不同包的子类是无法继承父类里面的friendly成员的,所以我们常说的子类继承父类的所有非私有成员是有前提的,前提就是必须在同一个包中。
private(最严格):只能在同一类中使用。
在子类继承父类的方法并打算重写的时候,要注意该方法的访问控制符的优先级只能大于等于父类的被重写的方法的访问控制符,否则会报错。类成员的访问控制优先级就是我上面列出的从上往下的顺序。
举例:如果重写父类的friendly方法,子类的该方法必须设置成friendly或者protected或者public,不能是private,否则会报错。
可能上面的东西比较基础,但是还是有弄不清楚的,很多书上说的也不太直白。