我想创建一个 Java 接口(interface),其方法接受某个类型的所有子类型:
interface A{};
interface B{
void method(A a);
}
我想要完成的是使方法(A a)的实现接受 A 的所有子类型(类似于返回类型多态性,但带有参数)。
这可能吗?
最佳答案
你已经完成了!
为了证明这一点,请尝试这样的事情:
public class ThisA implements A {}
public class ThatA implements A {}
public class OtherA implements A {}
public class SubclassA extends OtherA {}
然后调用你的方法:
B b = new B {
public void method(A a) {
System.out.println("Called with "+a);
}
}
b.method(new ThisA());
b.method(new ThatA());
b.method(new OtherA());
b.method(new SubclassA());
关于java - 通用论证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28941997/