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