Вопросы с тегом 'final'

final - это общее ключевое слово, определяющее, что ссылка, объявленная как final, не может быть изменена после ее инициализации. В Java ключевое слово final примерно эквивалентно const в С++. В С++ ключевое слово final позволяет вам объявить виртуальный метод, переопределить его N раз, а затем указать, что "это больше нельзя переопределить".
23

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

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

Изменение частного статического конечного поля с использованием отражения Java

У меня есть класс с полем private static final, который, к сожалению, мне нужно изменить во время выполнения. Используя отражение, я получаю эту ошибку: java.lang.IllegalAccessException: Can not set static final boolean field Есть ли способ изменит...
21 июл. '10 в 16:35
18

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

В Java мы используем ключевое слово final с переменными, чтобы указать его значения, которые нельзя изменить. Но я вижу, что вы можете изменить значение в конструкторе/методах класса. Опять же, если переменная static, то это ошибка компиляции. Вот ...
27 мар. '13 в 9:02
12

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

Я не могу понять, где ключевое слово final действительно удобно, когда оно используется в параметрах метода. Если мы исключаем использование анонимных классов, читаемости и декларации намерений, то это кажется мне почти бесполезным. Принуждение к ...
01 февр. '09 в 9:49
13

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

Я играю с лямбдами в Java 8, и я наткнулся на предупреждение local variables referenced from a lambda expression must be final or effectively final. Я знаю, что когда я использую переменные внутри анонимного класса, они должны быть окончательными во...
05 янв. '14 в 19:30
21

private final static attribute vs private final attribute

В Java, какая разница между: private final static int NUMBER = 10; и private final int NUMBER = 10; Оба являются private и final, разница - это атрибут static. Что лучше? И почему?
12 сент. '09 в 19:49
11

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

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

Нельзя ссылаться на не конечную переменную внутри внутреннего класса, определенного другим методом

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

Должен ли быть объявлен "статический конечный регистратор" в ВЕРХНЕЙ ЧАСТИ?

В Java статические конечные переменные являются константами, и соглашение заключается в том, что они должны быть в верхнем регистре. Тем не менее, я видел, что большинство людей объявляют регистраторы в нижнем регистре, что является нарушением в PMD....
13 сент. '09 в 8:24
6

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

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

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

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

Не определено ли окончательное?

Сначала загадка: что печатает следующий код? public class RecursiveStatic { public static void main(String[] args) { System.out.println(scale(5)); } private static final long X = scale(10); private static long scale(long va...
19 мар. '18 в 14:56
16

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

Я нашел пару ссылок (например), которые предлагают использовать final как можно больше, и мне интересно, как это важно. Это главным образом в контексте параметров метода и локальных переменных, а не конечных методов или классов. Для констант это име...
30 сент. '08 в 18:25
11

Окончание Java против С++ const

учебник по Java для С++ говорит, что (выделение - мое): Конечное ключевое слово примерноэквивалент const в С++ Что означает "грубо" в этом контексте? Разве они не совпадают? Каковы различия, если они есть?
11 февр. '11 в 16:07
9

Почему в Java нет постоянной функции?

Я пытался определить причину постоянных в Java Я узнал, что Java позволяет нам объявлять константы с помощью ключевого слова final. Мой вопрос в том, почему Java не представила функцию Constant (const). Поскольку многие люди говорят, что он пришел ...
29 апр. '10 в 8:19