Caro @d.fonseca quando colocar um problema assim também disponibilize todas as interfaces, todas as classes que fazem parte da sua dúvida, mas, vamos lá!
Exemplo:
Para chegar na classe novo as outras interfaces e classes devem existir antes, observe:
package Classes;
public interface Compound {
}
package Classes;
public interface CompoundSet<C> {
}
package Classes;
public class CompoundSuper implements Compound {
}
package Classes;
public interface DatabaseReferenceInterface {
}
package Classes;
public interface FeatureRetriever {
}
package Classes;
public interface FeaturesKeyWordInterface {
}
package Classes;
public class CompoundSetImpl<C> implements CompoundSet<C> {
}
package Classes;
public class Novo<C extends Compound>
extends StringProxySequenceReader<C>
implements FeaturesKeyWordInterface,
DatabaseReferenceInterface,
FeatureRetriever
{
private final String Cache;
private final String accessionID;
private final CompoundSet<C> compoundSet;
public Novo(String Cache, String accessionID, CompoundSet<C> compoundSet)
{
this.Cache = Cache;
this.accessionID = accessionID;
this.compoundSet = compoundSet;
}
public String getCache() {
return Cache;
}
public String getAccessionID() {
return accessionID;
}
public CompoundSet<C> getCompoundSet() {
return compoundSet;
}
}
Para instânciar seria assim:
Novo<Compound> novo = new Novo<>("", "", new CompoundSetImpl<Compound>());
Sua pergunta: Estou com dificuldade em instanciar essas classe por causa do compoundSet?
Como CompoundSet
é uma interface
você precisa gerar uma implementação dela que no exemplo de classes logo acima é a CompoundSetImpl<C>
, só lembrando que a regra de POO diz que somente classe concreta pode ser instanciada, ou seja, nem interface
nem classe abstract
pode ser instanciadas, mas, podem ser utilizadas como tipos.
Observação: o foco foi passar as observação da duvida, por isso as interfaces não possui implementação!