Тип возвращаемого значения виртуальной функции должен быть того же типа, что и в базовом классе, или ковариантный. Но почему у нас есть это ограничение?
Я знаю, что в Java массивы ковариантны. Так, например: Предположим, что Dog является подклассом Animal
. В java массивы ковариантны, что делает: Animal [] супертипом Dog []
Но в java общие коллекции не ...
У меня есть следующая структура: открытый интерфейс BarReturn {}
открытый интерфейс FooReturn {}
открытый интерфейс FooBarReturn расширяет FooReturn, BarReturn {} открытый интерфейс Foo {FooReturn fooBar (...
Я пытаюсь понять это, но я не получил подходящих результатов поиска. В С # 4 я могу сделать открытый интерфейс IFoo {} Чем это отличается от общедоступного ...
Начиная с Java 5, нам разрешено иметь ковариантные возвращаемые типы. Почему Java API этого не использует? Возьмем, к примеру, Graphics2D.create (). Почему не отменяется возвращение Graphics2D ...