我有一个同班,属于两个不同的包。
package x1.y1.Class
packgage x2.y2.Class如果我通过类加载器调用x1.y1.Class,那么x2.y2.Class是否有可能加载呢?
发布于 2014-11-24 06:46:26
简单地说,no (除非您无意中加载错了)。
类通过其完全限定的类名加载,其中包括包(例如x1.y1.Class)。
发布于 2014-11-24 06:52:17
不,这不可能发生,原因有二:
我只是故意尝试这样做,将p1/Foo.class替换为类p2.Foo的文件,并收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: p1/Foo (wrong name: p2/Foo)如果您想这样做,您将需要一个类加载器,它故意查找错误的位置,然后修改加载的字节码。
https://stackoverflow.com/questions/27099241
复制相似问题