我有一个接口和2个实现该接口的具体类,
public interface ITemplate{}
public Template implements ITemoplate {}
public Template2 implements ITemplate {}
Run Code Online (Sandbox Code Playgroud)
我有一个接受Class对象并实例化它的方法.
public addTemplate(Class<ITemplate> template){
pipe.add(template.newInstance())
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我调用该方法时,它会抛出编译时错误:
instance.addTemplate(Template.class)
Run Code Online (Sandbox Code Playgroud)
编译时错误:
addTemplate(java.package.ITemplate.class) cannot be applied to addTemplate(java.package.Template.class)
Run Code Online (Sandbox Code Playgroud)
我错过了什么,或者有解决方法吗?
Class<ITemplate> 将严格接受 ITemplate.class
Class<? extends ITemplate> 将接受任何实施的类 ITemplate.class
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |