我有以下要求:指定通用方法签名的接口,如
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要求的更具体的版本。 现在较低的语句不起作用,因为它们显然不被认为是覆盖,而是如何实现所需的语义呢?我可以重载该方法,但是对于我想要仅提供特定用途的类的类,通用版本仍然可见。
任何想法的人?