繁体   English   中英

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

[英]Method parameter must be obj of certain class that implements certain interface

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

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

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

您可以使方法通用,并且只使用类型交集接受同时属于ImageX和标记的对象:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM