在Java中使用反射调用超类构造函数

时间:2018-07-19 15:50:34

标签: java

我的问题是,根据Lib版本(.jar依赖项),我使用超类构造函数将参数从Integer更改为String。

public class GlowEnchant
    extends EnchantmentWrapper {

public GlowEnchant(int id) {
    super(id);
}

public String getName() {
    return "Glow";
}

这正在调用旧版本,但是使用新的EnchantmentWrapper时,需要String来初始化构造函数,并且用super表示这是一个错误的参数。我需要同时支持新旧Lib(半客户仍然喜欢旧的Lib)。如何使用反射(或什至更简单的方法)来做到这一点?

1 个答案:

答案 0 :(得分:1)

类似这样的东西:

.gitignore

使用包含两个构造函数的EnchantmentWrapper的本地副本进行编译。