Возможный дубликат:
Java - почему нет перегрузки метода на основе возвращаемого типа?
Компилятор не учитывает тип возвращаемого значения при различении методов, поэтому вы не можете объявить два метода с одинаковой сигнатурой, даже если они имеют разные типы возвращаемого значения.
Учебник по Java
Почему это?