我可以创建一个与
Java中的预定义包具有相同名称的自己的包,例如java.lang?
如果是这样,结果会是什么?这不是能让我访问该软件包的受保护成员吗?
如果没有,是什么阻止我这样做?
不 - java.lang被禁止.安全管理器不允许java.lang包中的"自定义"类,也没有办法告诉他接受它们.
你是对的 - 在java.lang命名空间中声明的自己的类允许你protected在该包中使用类的方法和成员,这绝对不是必需的.
编译很好 - 但是 - 尝试执行它;)
package java.lang;
public class EvilAsEvilCanBe {
public static void main(String[] args) {
System.out.println("hehe");
}
}
Run Code Online (Sandbox Code Playgroud)