use*_*112 0 java interface dynamic-binding
我有一个实现两个接口的抽象类.我正确的思考因为我使用两个接口,我不能使用任何一个接口来实现动态绑定?原因是,如果我使用的接口之一,我显然不能够与其他接口类型系统将只允许子类型调用由我来宣布的多态变量的接口中定义的方法调用的方法呢?
因此,我的实际问题是,我只是真的使用接口来确保我的抽象类(或子类)明确提供方法的实现吗?这似乎与第19条规定的内容相矛盾 - 你应该只使用类型的接口(我认为这意味着多态).
例:
public interface A{
public void meth1();
}
public interface B{
public void meth2();
}
public abstract class C implements A,B{
}
public void DynamicBinding(A aobject){
//Can only call aobject.meth1();
}
Run Code Online (Sandbox Code Playgroud)
您可以使用泛型使您的方法获取A和B类型的参数:
public <T extends A & B> void method(T param) {
param.meth1(); // fine
param.meth2(); // also fine
}
Run Code Online (Sandbox Code Playgroud)
相关问题在这里