jar*_*sik 0 java polymorphism interface
我想用一个接受类型的所有子类型的方法创建一个Java接口:
interface A{};
interface B{
void method(A a);
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是使方法(A a)的实现接受A的所有子类型(如返回类型多态,但带有参数).
这甚至可能吗?
你已经做到了!
要证明这一点,尝试这样的事情:
public class ThisA implements A {}
public class ThatA implements A {}
public class OtherA implements A {}
public class SubclassA extends OtherA {}
Run Code Online (Sandbox Code Playgroud)
然后调用你的方法:
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());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
45 次 |
最近记录: |