我正在用java编写一个软件,这个继承问题总是会出现。有趣的是,当我在IDE
(Eclipse Kepler)中运行程序时,我没有遇到问题,但是一旦我将其导出到可执行的jar,问题就开始了。我想我是唯一一个遇到这个问题的人,因为谷歌上的所有搜索都显示直接相反。
我的问题是我有一个名为 VoteType
的接口。此接口由几个具体类实现。我使用 XMLEncoder
将具体实现保存到文件中,并使用 XMLDecoder
检索它。
但是当我尝试将其转换为它实现VoteType
的接口时,我得到了一个ClassCastException
。可能是什么原因造成的?
您不够精确,无法跟踪这一点,但我假设通过 XMLDecoder 创建的接口和实现接口的对象是由不同的类加载器创建的。难道是这个原因吗?
另请参阅此问题:由于类加载器问题而导致的 ClassCastException 的解决方案