方法参数必须是实现某个接口的某个类的obj

时间:2013-02-15 16:43:56

标签: java android generics methods constructor

如何声明一个带参数的方法,该方法必须同时实现某个接口,而不为此声明一个特殊的类? 假设我已经声明了类ImageX并且还声明了接口Tagging。所以我需要创建一些其他类或方法,它们只需要接收实现Tagging接口的ImageX实例。如何申报这种方法?

之类的东西
private void someMethod (ImageX<Tagging> obj){} 

但当然这不正确。是的我可以检查obj是否实现了所需的接口,但我想要检查参数。如果它不是某种方法而是构造函数,那该怎么办... 我可能会询问仿制药吗?

1 个答案:

答案 0 :(得分:10)

您可以使方法通用,并且只接受使用类型交集的ImageX和Tagging对象:

private <T extends ImageX & Tagging> void someMethod (T obj){}