Конструктор не принимает производный класс в качестве аргумента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 >) не определен

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

Подробнее здесь: https://stackoverflow.com/questions/798 ... s-argument

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