gpt4 book ai didi

java - 如何以及如何动态创建未知类的子类?

转载 作者:行者123 更新时间:2023-12-02 04:20:27 29 4
gpt4 key购买 nike

这是我的场景。我有一个插件系统。插件可以在运行时通过插件主列表相互检测和查找。层次结构是这样的

Base Class A
----Unknown Class B extends A
--------Known method from Class A, we'll call it E
--------Dynamically generated Class F extends B
------------Overridden Method E
------------Other methods inherited from A and B

F 应继承 B 的行为,但 E 被覆盖除外。然后,F 与 B 分开实例化为具有相似但不相同行为的不同对象。类 B 在编译时是未知的,但可以通过迭代来识别它并检查插件主列表中的 A 实例。

我的具体案例涉及一个游戏。不一定是我正在做的事情,但一个很好的例子是找到其他插件添加的每把剑,然后制作剑的新副本,具有所有相同的能力,除了它会发射火焰而不是它可能的任何奇特的 Swing 效果本来就有,方法E决定了挥剑时会发生什么。

最佳答案

您可以使用字节码工程工具包,例如 javassist 。它可以让你 create new classes based on your existing class让您change the method body .

关于java - 如何以及如何动态创建未知类的子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32839837/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com