В Java возможно переопределить методы, если возвращаемые типы являются соответственно примитивом и его классом-оберткой?
Работая с идеей переопределения и переопределения методов в Java, я заметил, что для возвращаемых типов таких методов есть некоторая гибкость.
Немного теории: «Тип возвращаемого значения метода переопределения в производном классе может быть тем же самым, или подкласс возвращаемого типа переопределенного метода в базовом классе. Тип возврата такого переопределенного метода известен в качестве ковариантного возвращаемого типа. "
Пример ниже предполагает, что B расширяет A.
Method in A:
public Object some_method() {....}
Method in B:
public Integer some_method() {....}
Итак, мы видим, что some_method () в B переопределяет some_method () в A, поскольку Integer является подклассом Object.
Интересно, существует ли следующая гибкость и будет ли следующее работать правильно из-заавто-бокс а такжераспаковка:
Method in A:
public Integer some_method() {....}
Method in B:
public int some_method() {....}
ИЛИ ЖЕ
Method in A:
public int some_method() {....}
Method in B:
public Integer some_method() {....}