переопределим методы
Привет. Пусть есть класс A в котом описан метод m(). Класс B отнаследован от A в котом переопределн метод m(). Почему тип возвращаемого значения метода в классе A должен быть родителем типа вовращаемого значения в классе B? Чем чревато, если разрешить разрешить делать возвращаемое значение метода произвольным?Еще вопрос: Рассматриваем теже классы A и B и методы m(). Почему нельзя переопределять статический на нестатический и наоборот? Определение реализции переопределнного метода происходит в рантайме, а статического на этапе компиляции... и какбы что? Можете прояснить эти моменты?