如何在不为此声明一个特殊类的情况下声明一个方法,其参数必须同时是实现某个接口(interface)的某个类?
假设我已经声明了类 ImageX 并且还声明了接口(interface)标记。所以我需要创建一些其他的类或方法,这些类或方法必须只接收实现 Tagging 接口(interface)的 ImageX 实例。如何声明这样的方法?像
private void someMethod (ImageX<Tagging> obj){}
但这当然是不正确的。是的,我可以检查 obj 是否实现了所需的接口(interface),但我想要检查参数。如果它不是某种方法而是构造函数怎么办...
我问的是泛型吗?
最佳答案
您可以使该方法通用,并通过使用类型交集仅接受既是 ImageX 又是 Tagging 的对象:
private <T extends ImageX & Tagging> void someMethod (T obj){}
关于java - 方法参数必须是实现某个接口(interface)的某个类的obj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14899314/