如何声明一个带参数的方法,该方法必须同时实现某个接口,而不为此声明一个特殊的类? 假设我已经声明了类ImageX并且还声明了接口Tagging。所以我需要创建一些其他类或方法,它们只需要接收实现Tagging接口的ImageX实例。如何申报这种方法?
之类的东西private void someMethod (ImageX<Tagging> obj){}
但当然这不正确。是的我可以检查obj是否实现了所需的接口,但我想要检查参数。如果它不是某种方法而是构造函数,那该怎么办... 我可能会询问仿制药吗?
答案 0 :(得分:10)
您可以使方法通用,并且只接受使用类型交集的ImageX和Tagging对象:
private <T extends ImageX & Tagging> void someMethod (T obj){}