public interface SQLer<S,A,R> {
void setSQL(S sql);
void setArgs(A args);
R getResult();
}
public interface ArgsCreator<A> {
A createArgs();
}
假设需要两个接口进行协作,但如果只这样定义,无法获得类型检查,因此,可以这样定义
public interface SQLer<S,A,R> {
void setSQL(S sql);
void setArgs(A args);
R getResult();
}
public interface ArgsCreator<A,E extends SQLer<?,A,?>> {
A createArgs();
}