Я пытаюсь создать объект FlashCard
в своем классе CardSet
. Проблема в том, что объект My FlashCard
не может быть создан. Ни один из моих классов не является абстрактным, и они не являются интерфейсами.Не удается создать объект
Ошибка возникает в строке 19 класса CardSet:
this.add (новая FlashCard (термин, определение)); .
public class CardSet<FlashCard> extends LinkedList<FlashCard> {
private String nameOfSet;
private FlashCard activeCard;
private String term;
private String definition;
public CardSet(String nameOfSet)
{
this.nameOfSet = nameOfSet;
}
public void addCard(String term, String definition)
{
this.term = term;
this.definition = definition;
// cannot instantiate
this.add(new FlashCard(term, definition));
}
}
public class FlashCard {
private String definition;
private String term;
public FlashCard(String term, String definition)
{
this.term = term;
this.defintion = definition;
}
public String getTerm()
{
return term;
}
public String getDefintion()
{
return definition;
}
}
В качестве побочного примечания: «Оплатить композицию над наследованием» - в этом сценарии кажется немного над вершиной, чтобы расширить коллекцию. Наличие списка карт в качестве члена вашего картона, вероятно, является лучшим подходом. Вы, конечно, не хотите раскрывать каждый (унаследованный) метод, не так ли? –
@igknighton, пожалуйста, обновите свой вопрос, вместо того чтобы предоставлять дополнительную информацию в комментариях. –