use*_*721 6 java access-control
我P4在默认包中有类(我知道使用默认包是不好的做法,但现在只是"例如"):
import temp.P2;
public class P4 extends P2 {
public void someMethod() {
P2 p2 = new P2();
// p2.p2default(); // ERROR as expected
p2.p2public();
p2.p2protected(); // ERROR as not expected
}
}
Run Code Online (Sandbox Code Playgroud)
和P2包中的类temp
package temp;
public class P2 {
protected void p2protected() {
...
}
public void p2public() {
...
}
void p2default() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
从访问控制机制,我希望
P4- 扩展后P2,应该能够在protected导入该包的命名空间后,甚至从包外部看到其超类的成员.
我错过了什么?
TIA.