有朋友问我,Java的修饰符访问权限到底是怎么排的,我说从大到小public>protected>friendly>private。朋友突然问我,有friednly?我一本正经(xia che)说,书上写的(也不知道当时从哪里看来的,记了个错的记了三年,委屈脸)。friendly的叫法可能来源于c++。
不管是称呼default还是friendly,都只是一种口头上的说法,java修饰符关键字中没有default,也没有friendly。
好了,记住正确的,别再迷糊了,说的严谨点,Java中有四种访问权限,三个修饰符(缺省的没有),从大到小顺序是public>protected>缺省(也叫包访问权限)>private.
下表列出了每种修饰符(也可以叫作用域)的具体使用范围
修饰符 | 访问权限(作用域) | |||
当前类 | 当前包 | 子类 | 其他包 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | x |
缺省(默认) | √ | √ | x | x |
private | √ | x | x | x |