我想他是要问限定修饰符的用法=========================================================
public protected dafault private
同一类 √ √ √ √
同一包(含子类) √ √ √
包外子类 √ √
包外其他类 √
=========================================================
public protected dafault private
同一类 √ √ √ √
同一包(含子类) √ √ √
包外子类 √ √
包外其他类 √
=========================================================
不过java的 protected有一点特殊
比如java.lang.Object.protected Object clone();对于包外子类是不可用的,除非implements Cloneable,
好像还由其他例子,一时想不起来了
Package p1里有 class z,b,t.Package p2里有class x,y,c.
y和z继承x b和c继承t.有一个方法A()分别依次在这几个类中声明,就是X
声明为protected,分别在Z B T Y C 中访问的情况,依次类推
protected void A(){}那么 x y c 由于在同一包中 所以可以访问
z 是 x 的子类 所以也可以访问
其他类皆不可以访问其他的可以类推了上面有点写错 是 default
就像 Iforgot(清风雨) 所说的 是没有修饰符的一种用法