我做了一个新的ClassLoader并让它定义一个新的Class,这意味着新类应该在一个新的命名空间中,据我所知。奇怪的是,当我调用Class.getPackage在新类上,它返回的对象与在我的主命名空间中的任何其他类上调用getPackage返回的对象完全相同。根据JVMspec:Theruntimepackageofaclassorinterfaceisdeterminedbythepackagenameanddefiningclassloaderoftheclassorinterface.所以换句话说,如果你有两个类在同一个包中,但是被不同的类加载器加载,它们被认为是在不同的包中