Java:使用任意类型的无限数量的参数定义抽象方法

时间:2016-04-28 09:09:14

标签: java generics dependency-injection casting abstract

我目前正在尝试定义一种抽象方法,它允许任意类型的无限数量的参数。

什么吗

我想在抽象类custom.css

中写这样的东西

具体类可以通过执行此<AType> exec(Any[] args)

来覆盖它

或通过这样做List<AType> exec(AType1 arg1, AType2 arg2)

但是......为什么?

实际上我正在尝试做一些依赖注入。具体类重写了一个方法nammed List<AType> exec(AType1 arg1, AType2 arg2, AnotherType1 arg3),它返回一个符号名称数组。

在运行时,类检索符号名称(在实例上映射),并使用适当的具体参数调用getParams():String[]方法。

我找到了什么

我无法使用exec执行此操作。 (顺便说一句,我不确定为什么Java编译器拒绝这个选项,因为每个具有此签名的Object映射。通过阅读本文的答案:Overriding abstract generic method in Java,我不明白为什么这是不允许的。)

我无法按照this oracle tutorial执行此操作,因为通用类型exec(Object... o)必须是唯一的。

甚至可能吗? 如果是这样,我该怎么办?

非常感谢您的回答:)

0 个答案:

没有答案