假设我有以下界面:
public interface Renderer {
...
public <T> void setBackingGraphics(T t);
}
我现在如何以指定要使用的特定“T”的方式实现接口?
@Override
public <Graphics> void setBackingGraphics(Graphics t) {
...
}
以上显然不起作用,因为“图形”将被视为另一个占位符。我如何真正使它“可用”?让我以泛型类为例来说明我的意思:
public interface A<T> {
T someT();
}
public class C extends A<B> {
B someT(){...}
}
如果我只想将其应用于特定方法,上述内容如何工作?
您需要能够Renderer
setBackingGraphics
使用 any调用,Object
因此您唯一可以做的就是:
@Override
public void setBackingGraphics(Object t) {
}
如果你想要更具体的东西,你需要绑定你的参数,例如:
public interface Renderer {
public <T extends String> void setBackingGraphics(T t);
}
然后你可以这样做:
@Override
public void setBackingGraphics(String t) {
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句