public interface AbstractTestStep<I extends StepPojo> {
public abstract StepResult run(I t);
}
public interface Triggers extends AbstractTestStep{
}
public interface GetInstance extends Triggers{
StepResult run(GetInstancePojo t);
}
我想强制GetInstancePojo成为从第一个顶级接口定义的StepPojo的子类。我该如何实现?我已经搜索了很多东西,找不到了。
答案 0 :(得分:2)
您必须在整个层次结构中引用该通用参数:
public interface AbstractStep<I extends StepPojo>{
StepResult run(I i);
}
public interface Triggers<I extends StepPojo> extends AbstractStep<I>{}
public interface GetInstance extends Triggers<GetInstancePojo>{}
使用当前代码,您甚至不需要Triggers
接口(前提是您没有声明其他方法)