Как вернуть реализацию обобщенного подкласса в JavaJAVA

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

Сообщение Anonymous »

У меня следующая структура:

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

    class Base{}
class Extension1 extends Base{}
class Extension2 extends Base{}
abstract class AbstractClazz{}
class Clazz1 extends AbstractClazz{}
class Clazz2 extends AbstractClazz{}

  AbstractClazz method(boolean returnClass1){
if (returnClass1){
return new Clazz1();
}
return new Class2();
}
Однако мой компилятор выдает ошибку: «Невозможно преобразовать из Clazz1 в AbstractClazz». Я не уверен, почему это происходит. Насколько я понимаю, Clazz1 и Clazz2 соответствуют требованиям экземпляра AbstractClazz, поскольку Clazz1 и Clazz2 являются реализациями AbstractClazz, где общий тип является подклассом Base, что и ожидает AbstractClazz.
Как мне это сделать? исправить это?
примечание: мой код написан с использованием Java 8.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ss-in-java
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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