Вопросы с тегом «final»

569
Какой смысл «финального класса» в Java?

Я читаю книгу о Java, и там говорится, что вы можете объявить весь класс как final. Я не могу думать ни о чем, где бы я использовал это. Я просто новичок в программировании, и мне интересно, действительно ли программисты используют это в своих программах . Если они это сделают, то когда они...

480
Как работает ключевое слово «final» в Java? (Я все еще могу изменить объект.)

В Java мы используем finalключевое слово с переменными, чтобы указать, что его значения не должны изменяться. Но я вижу, что вы можете изменить значение в конструкторе / методах класса. Опять же, если переменная - staticэто ошибка компиляции. Вот код: import java.util.ArrayList; import...

479
Изменить частное статическое конечное поле с помощью отражения Java

У меня есть класс с private static finalполем, которое, к сожалению, мне нужно изменить во время выполнения. Используя отражение, я получаю эту ошибку: java.lang.IllegalAccessException: Can not set static final boolean field Есть ли способ изменить значение? Field hack =...

381
Почему я должен использовать ключевое слово «final» для параметра метода в Java?

Я не могу понять, где finalключевое слово действительно удобно, когда оно используется в параметрах метода. Если мы исключим использование анонимных классов, читаемость и декларацию намерений, то это кажется мне почти бесполезным. Обеспечение того, что некоторые данные остаются постоянными, не так...

351
Разница между окончательным и фактически окончательным

Я играю с лямбдами в Java 8, и я столкнулся с предупреждением local variables referenced from a lambda expression must be final or effectively final. Я знаю, что когда я использую переменные внутри анонимного класса, они должны быть финальными во внешнем классе, но все же - в чем разница между...

347
Улучшает ли использование ключевое слово final в Java?

В Java мы видим много мест, где finalключевое слово можно использовать, но его использование встречается редко. Например: String str = "abc"; System.out.println(str); В приведенном выше случае, strможет быть, finalно это обычно прекращается. Когда метод никогда не будет переопределен, мы можем...

247
Невозможно обратиться к неконечной переменной внутри внутреннего класса, определенного в другом методе.

Отредактировано: мне нужно изменить значения нескольких переменных, так как они запускаются несколько раз через таймер. Мне нужно постоянно обновлять значения с каждой итерацией через таймер. Я не могу установить значения final, поскольку это не позволит мне обновить значения, однако я получаю...

243
Должен ли «статический финальный регистратор» быть объявлен в UPPER-CASE?

В Java статические конечные переменные являются константами, и существует соглашение, что они должны быть в верхнем регистре. Тем не менее, я видел, что большинство людей объявляют регистраторы в нижнем регистре, что является нарушением PMD . например: private static final Logger logger =...

220
Сравнение строк с ==, которые объявлены окончательными в Java

У меня есть простой вопрос о строках в Java. Следующий фрагмент простого кода просто объединяет две строки и затем сравнивает их с ==. String str1="str"; String str2="ing"; String concat=str1+str2; System.out.println(concat=="string"); Выражение сравнения concat=="string"возвращается falseкак...

190
Заключительные аргументы в интерфейсных методах - какой смысл?

В Java совершенно законно определять finalаргументы в интерфейсных методах и не подчиняться таковым в реализующем классе, например: public interface Foo { public void foo(int bar, final int baz); } public class FooImpl implements Foo { @Override public void foo(final int bar, int baz) { ... } } В...

171
Когда следует использовать final для параметров метода и локальных переменных?

Я нашел пару ссылок ( например ), которые предлагают использовать finalкак можно больше, и мне интересно, насколько это важно. Это в основном в контексте параметров методов и локальных переменных, а не конечных методов или классов. Для констант это имеет очевидный смысл. С одной стороны, компилятор...

151
Финал Java против C ++ const

В учебнике по программированию на Java для C ++ говорится, что (выделение - мое): Ключевое слово final примерно эквивалентно const в C ++ Что значит «грубо» в этом контексте? Разве они точно так же? Каковы различия, если таковые...

146
Какова цель ключевого слова final в C ++ 11 для функций?

Какова цель finalключевого слова в C ++ 11 для функций? Я понимаю, что это предотвращает переопределение функций производными классами, но если это так, то разве недостаточно объявить ваши finalфункции не виртуальными ? Есть еще кое-что, что мне здесь не хватает?...

144
Метод `final` в Java: что он обещает?

В классе Java может быть определен метод final, чтобы отметить, что этот метод не может быть переопределен: public class Thingy { public Thingy() { ... } public int operationA() {...} /** this method does @return That and is final. */ public final int getThat() { ...} } Это ясно, и это может быть...

142
Почему в Java нет функции Constant?

Я пытался определить причину констант в Java. Я узнал, что Java позволяет нам объявлять константы с помощью finalключевого слова. У меня вопрос: почему в Java не появилась constфункция Constant ( ). Поскольку многие говорят, что он пришел из C ++, в C ++ есть constключевое слово. Пожалуйста,...