我想要一个Class对象,但我想强制它所代表的任何类来扩展A类并实现接口B.
我可以:
Class<? extends ClassA>
Run Code Online (Sandbox Code Playgroud)
要么:
Class<? extends InterfaceB>
Run Code Online (Sandbox Code Playgroud)
但我不能两者兼顾.有没有办法做到这一点?
我有一个实现两个接口的抽象类.我正确的思考因为我使用两个接口,我不能使用任何一个接口来实现动态绑定?原因是,如果我使用的接口之一,我显然不能够与其他接口类型系统将只允许子类型调用由我来宣布的多态变量的接口中定义的方法调用的方法呢?
因此,我的实际问题是,我只是真的使用接口来确保我的抽象类(或子类)明确提供方法的实现吗?这似乎与第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)