Как я понял, что переопределение run как раз запускает возможность задать ему условие и соответственно вывода. А если не переопределен, то он по умолчанию пустой и создаёт одну нить и обрывается. Хотя в решении от JavaRush переопределения нет, я сделал с (валидатор принял). Как все-таки правильно?
Роман
18 уровень
Нужен ли здесь @override метода run?
Обсуждается
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
24 ноября 2024, 15:24
Насколько я знаю - технически не нужно, на выполнение кода не влияет.
Практически - приветствуется для улучшения читабельности.
Считай это формализованной разновидностью комментария.
+1
ГоффMaster
25 ноября 2024, 09:49
Ой, пришло в голову понятное сравнение. Аннотации - они как поворотники в автомобиле. Что бы повернуть, они не нужны. Но мы ими пользуемся, что бы явно и однозначно сообщить другим о своих намерениях.
0
hidden #3303140
25 ноября 2024, 10:40
Ну ты наверное про все аннотации не обобщал бы так
0
gerafen Backend Developer
24 ноября 2024, 14:38
всегда при переопределении методов писать аннотацию @Override.
+1
gerafen Backend Developer
24 ноября 2024, 14:38
:)
0
gerafen Backend Developer
24 ноября 2024, 14:36
полностью не согласен с комментариями ниже по поводу фразы "Аннотация@Override не обязательна". Возможно сейчас в данных задачках это так просто, но уже в активной разработке, когда будут использоваться бины и в частности Spring Boot, то там это необходимо! все аннотации придуманы не просто так!!!
+1
hidden #3303140
24 ноября 2024, 15:09
Расскажи, в каких ситуациях отсутствие этой аннотации приведёт к ошибке компиляции?
0
gerafen Backend Developer
30 ноября 2024, 15:51
я такого не говорил)
0
phnmx
24 ноября 2024, 11:43
Аннотация@Override не обязательна и ее невозможно было сделать обязательной по причине обратной несовместимости c кодом написанным для < Java 1.5.
Более того @Override удаляется при компиляции,
но по причинам уже расписанным ниже @kira.koritsa, а именно избегания человеческих ошибок, его лучше всегда использовать.
+1
kira.koritsaJava Developer в inValid'ные Войска
24 ноября 2024, 06:18
вообще, @override - необязательная штука. можно и без неё, компилятор всё равно запустится. но, например, в реальных проектах, где твой код будут читать другие программисты, лучше обозначать, что вот этот метод - переопределённый, чтобы: 1) другой человек знал, что это именно переопределенный метод, 2) если вдруг забудешь написать/перепутаешь какой-либо параметр/модификатор доступа в сигнатуре метода, IDE подсказала, что: "братан, сигнатура оригинала переопределяемого метода написана не так"
+1