您可以在java.lang包中创建一个新类.如果禁止Oracle开发人员能够开发Java?我确定他们使用相同的javac,就像我们这样做.
但是您将无法加载它,因为java.lang.ClassLoader(任何类加载器扩展)不允许它,每个加载的类都通过此检查
...
if ((name != null) && name.startsWith("java.")) {
throw new SecurityException
("Prohibited package name: " + name.substring(0,name.lastIndexOf('.')));
}
...
所以你最终会有这样的东西
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.lang
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:649)
at java.lang.ClassLoader.defineClass(ClassLoader.java:785)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.j