public,protected,friendly,private的访问权限,如下:
关键字 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
public声明的变量及方法,表明在整个包内包外都可使用。
private 声明的变量及方法,只在声明的类内可以使用。
protected包外不可使用。包内可以使用。
不使用关键字默认为包内使用。
另外注意在继承的时候,他们的区别。
public 声明的在子类变为public
protected 声明的子类变为private
private 声明的在子类中不可用