1
我有一个属于2个不同包的同一个类。Java类加载
package x1.y1.Class
packgage x2.y2.Class
是否有可能,如果我是通过调用类加载器x1.y1.Class
,x2.y2.Class
负荷呢?
我有一个属于2个不同包的同一个类。Java类加载
package x1.y1.Class
packgage x2.y2.Class
是否有可能,如果我是通过调用类加载器x1.y1.Class
,x2.y2.Class
负荷呢?
简单地说,没有(除非你无意中加载了错误的)。
类由他们的完全限定类名,其中包括包装(如x1.y1.Class
)
不,这不可能发生,原因有二:
我只是试着故意这样做,用文件替换为p1/Foo.class
类p2.Foo
,并收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: p1/Foo (wrong name: p2/Foo)
如果你想向做到这一点,你需要一个有意查看错误位置的类加载器,然后修改它加载的字节码。
你的意思是不小心?或者这就是你想要达到的目标? – 2014-11-24 06:45:39
yups ..意外..其他任何可能性 – vegeta 2014-11-24 06:46:16
否..除非你做错了,否则不会发生。 – TheLostMind 2014-11-24 06:48:25