【发布时间】:2017-02-26 10:57:19
【问题描述】:
我有课可以说
public class Magic implements Serializable{
}
并且这个类不继承
public class Amount{
}
有什么方法可以将Magic 转换为Amount,我不会访问任何字段,我只需要魔法来“变成”数量吗?有什么办法吗?
【问题讨论】:
-
你为什么需要这样做?
-
没有。尝试这样做将在运行时以 ClassCastException 告终。你为什么想这么做?也许对于您的潜在业务问题还有另一种解决方案...
-
如果他们没有任何关系,你为什么要这样做?
-
因为我有一个需要输入“数量”的方法,但是我不能让 Magic 扩展 Amount(另一个我无法写入的 jar),我需要一种方法以某种方式让 Magic 成为 Amount,我无法修改这两个文件。
-
那你为什么不用
(Amount) null呢?你说过你不会接触 Amount 的任何成员。所以 null 和 Magic 实例一样好。
标签: java reflection casting