通过覆盖进一步指定varargs签名

时间:2012-10-20 14:12:29

标签: java inheritance override variadic-functions

我有以下要求:指定通用方法签名的接口,如

doSomething(String id, Integer number, Object... furtherData)

现在我可以有几个版本的类实现所需的行为,基本版本忽略FurtherData,而高级类使用特定的附加数据。所以我想在覆盖时进一步指定签名,基本上想象这样的东西:

doSomething(String id, Integer number, String advancedData1, String advancedData2)

用于一个高级课程,例如:

doSomething(String id, Integer number, Vector<Boolean> advancedData)

换另一个。通常只说明类应该考虑方法的最低要求,并且能够考虑其他特定数据。

通过进一步指定,我的意思是该方法的更通用版本不应该是可见的,而只是对高级数据具有concret要求的更具体的版本。 现在较低的语句不起作用,因为它们显然不被认为是覆盖,而是如何实现所需的语义呢?我可以重载该方法,但是对于我想要仅提供特定用途的类的类,通用版本仍然可见。

任何想法的人?

0 个答案:

没有答案