我在 Java/Hibernate/BlazeDS/Flex-Setup 中遇到类型强制问题。
首先,我的课程如下所示:
--- JAVA ---
接口 I
(抽象) A 类实现 I
B 类扩展 A
--- 动作脚本 ---
接口 I
Class A 实现 I
Class B extends A
我在所有 ActionScript-Classes/Interfaces I、A 和 B 中都有 RemoteClass-Meta-Tags。包结构和类/接口名称完全相同。
现在问题来了:我的 Java 服务通过 Hibernate 从我的数据库中成功检索了 B 类对象。我得到了另一个类 C,它具有接口类型 I 的成员属性,因此应该可以分配 B 类型的对象。但由于某种原因,我收到以下错误消息:
TypeError:错误 #1034:无法将 Object@28b44a89 转换为 package.name.I
我检查了服务中的 Java 对象类型,它是 B 类型,似乎完全没问题。为什么B类型的对象不能赋值给I类型的成员变量?这让我发疯了。
提前致谢。