我创建了以下界面
public interface ISolutionSpace {
public boolean isFeasible();
public boolean isSolution();
public Set<ISolutionSpace> generateChildren();
}
但是,在名为
ISolutionSpace
的类中实现EightQueenSolutionSpace
时,我将返回一组EightQueenSolutionSpace
实例,例如以下存根:@Override
public Set<ISolutionSpace> generateChildren() {
return new HashSet<EightQueenSolutionSpace>();
}
但是,此存根不会编译。我需要进行哪些更改?
编辑:我也尝试了'HashSet',并尝试使用extend关键字。但是,由于“ ISolutionSpace”是接口,而
EightQueenSolutionSpace
是“ ISolutionSpace”的实现(而不是子类),因此它仍然无法正常工作。 最佳答案
return new HashSet<ISolutionSpace>();
HashSet中的所有引用都可以指向AugustQueenSolutionSpace实例,但通用类型应为ISolutionSpace。