проблема генерации типологии с кодом

57
5

Я получаю вопрос о выпуске класса в строке 4 в следующем коде. Как мне отбрасывать из общего класса тип ABC. Игнорируйте и просветите меня, если я делаю что-то неправильно.

@Override
public ABC<INPUT> getCode()
{
return getInputCode(); -- This returns type Class which is Class<? extends ABC<INPUT>>
}
;

protected Class<? extends ABC<INPUT>> getInputCode()
{
return (Class)SomeSerialization.class;
}

class SomeSerialaization implements ABC,Serializable{
private static final long serialVersionUID = 1276372676372L;
//logic
}

спросил(а) 2015-06-25T01:18:00+03:00 5 лет, 3 месяца назад
1
Решение
97

Вы можете попытаться создать экземпляр экземпляра типа, представленного объектом Class, вызвав Class.newInstance(). Это будет работать только с классами с простыми конструкторами по умолчанию no-arg. Нет никакого общего способа создания экземпляра Class, поскольку не все классы могут быть созданы.

ответил(а) 2015-06-25T01:52:00+03:00 5 лет, 3 месяца назад
41

Ваша переопределенная подпись метода говорит вам вернуть объект типа ABC, но то, что на самом деле возвращается, относится к типу Class.

Верните объект ABC, если вы хотите придерживаться интерфейса переопределенного метода.

ответил(а) 2015-06-25T01:51:00+03:00 5 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема