Встретил пример где указан метод final static, не понял смысл в нем, статический метод не переопределяется по определению , зачем добавлять final , почему не ругается компилятор, может есть какое-то этому применение ?
Илья
30 уровень
Зачем в методе указывать final static
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Илья ГековMaster
19 августа 2018, 19:31решение
Вот что по этому поводу подсказывает IDEA:
Если протестировать оба варианта, то становится понятно, что в классе наследнике можно объявить static метод с точно такой же сигнатурой как и у класса родителя, но данный метод не будет являться Overriden, то есть это будет собственный статический метод наследника, никак по сути не связанный с методом родителя, кроме одинакового названия. Но если объявить static метод final, то компилятор запретит создавать у наследника статический метод с такой же сигнатурой.
+6
Илья ГековMaster
19 августа 2018, 19:34
Вот код для теста.
Так можно:
Так нельзя:
__________________________________________________________
0
Илья
20 августа 2018, 05:44
Илья, спасибо, до идеи не дошел в этом вопросе , теперь все понятно.
0