Конструктор не принимает список производных классов в качестве аргументаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Конструктор не принимает список производных классов в качестве аргумента

Сообщение Anonymous »

Я пробовал использовать и базовый класс, и интерфейс, и в обоих случаях мне сказали, что конструктора, принимающего мои аргументы, не существует. У меня есть два класса, которые связаны друг с другом, и я хочу создать экземпляр другого класса с помощью любого из них. Вот как выглядит моя установка:
Базовый класс

Код: Выделить всё

public class MyClassBase implements MyClassBaseIF {
public MyClassBase(){
//stuff
}
}
Дочерний класс

Код: Выделить всё

public class MyClassChild extends MyClassBase implements MyClassBaseIF {
public MyClassChild() {
//stuff
}
}
Интерфейс

Код: Выделить всё

public interface MyClassBaseIF {
public void doStuff() {
//stuff
}
}
Я хочу создать экземпляр нового класса, который принимает список базового или дочернего класса в качестве аргумента конструктора. Я пробовал сделать это через интерфейс и просто через наследование, для меня не имеет значения, что реализовать, пока один из них работает, но я получаю одну и ту же ошибку с обоими

Код: Выделить всё

public class BigImportantClass {
public BigImportantClass(List stuff) {
List a = stuff;
}
}
или

Код: Выделить всё

public class BigImportantClass {
public BigImportantClass(List stuff) {
List a = stuff;
}
}
если я создаю список List x = functionThatReturnsTheList() независимо от того, какой вариант конструкции я использую для нового BigImportantClass(x), я все равно получаю

Конструктор BigImportantClass(List< MyClassChild >) не определен

Является моя проблема связана с тем, что я имею дело со списком базовых/дочерних элементов/интерфейсов, или я делаю что-то более фундаментально неправильное?
Вот как я реализовал решение

Код: Выделить всё

public class BigImportantClass {
public BigImportantClass(List

Подробнее здесь: [url]https://stackoverflow.com/questions/79830076/constructor-not-accepting-list-of-derived-class-as-argument[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»