Публикации по теме 'final'


Путаница по поводу неизменности и финала в Java
Путаница по поводу неизменности и финала в Java В моих попытках подготовиться к техническим интервью по Core Java было несколько популярных вопросов, которые были отмечены как «самые сложные» и на которые многие блоггеры затруднялись ответить. Почему «Java является неизменной или окончательной?» — одна из них. У нас уже есть хороший набор статей, написанных на эту тему. Поэтому я не собираюсь изобретать инструмент. Но решил добавить свои взгляды на некоторые заблуждения, через..

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

Зачем отмечать локальные переменные и параметры метода как окончательные в Java?
В Java вы можете указать локальные переменные и параметры метода с помощью ключевого слова final. public static void foo(final int x) { final String qwerty = "bar"; } Это приводит к невозможности переназначить x и qwerty в теле метода....
109650 просмотров
schedule 26.04.2022

Есть ли способ запретить создание подклассов моего класса?
Скажем, у меня есть класс под названием «Base» и класс под названием «Derived», который является подклассом Base и обращается к защищенным методам и членам Base. Сейчас я хочу сделать так, чтобы никакие другие классы не могли создавать подклассы...
4385 просмотров
schedule 11.02.2023

Поведение финального статического метода
Я играл с модификаторами со статическим методом и столкнулся со странным поведением. Как мы знаем, статические методы нельзя переопределить, так как они связаны с классом, а не с экземпляром. Итак, если у меня есть приведенный ниже фрагмент, он...
51393 просмотров
schedule 01.07.2023

Как обрабатывать инициализатор статического конечного поля, который выдает проверенное исключение
Я сталкиваюсь с вариантом использования, когда я хотел бы объявить поле static final с оператором инициализации, который объявлен для создания проверенного исключения. Как правило, это выглядело бы так: public static final ObjectName OBJECT_NAME...
20216 просмотров
schedule 29.01.2024

Есть ли функциональная разница между ключевым словом c # sealed и ключевым словом Java final?
Возможный дубликат: Что эквивалент Java final в C #? В Java final применяется не только к классу. Итак, мне интересно: есть ли функциональная разница между двумя ключевыми словами? Спасибо, и извините за относительно нубский...
14198 просмотров
schedule 21.09.2022

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

Все окончательно
Я использую PMD, чтобы помочь обнаружить потенциальные проблемы в моем Java-коде, и я обнаружил, что в нем советуют разделить на полезное, идиосинкразическое, и «WTF ?!». Одна из вещей, которые он постоянно говорит мне сделать, - это использовать...
3951 просмотров
schedule 24.05.2023

Должен ли каждый неизменяемый класс быть окончательным?
Я разрабатывал класс Card для использования в игре в блэкджек. Я планировал создать класс Card с getValue (), который возвращает, например, 11 для J, 12 для Q и 13 для K, а затем расширить его с помощью класса BlackjackCard, чтобы переопределить...
1467 просмотров
schedule 23.02.2024

Каков вариант использования защищенного метода в финальном классе в Java?
Рассмотрим этот код из официального Исходный код OpenJDK для java.awt.font.TextLayout : public final class TextLayout { /* ... */ protected void handleJustify(float justificationWidth) { // never called } } Каков здесь...
2309 просмотров
schedule 25.12.2022

Конечная семантика и десериализация поля с setAccessible (true)
Согласно модели памяти Java, поле final , инициализированное в конструкторе объекта, не подлежащее дальнейшим изменениям, гарантированно будет иметь его значение, правильно видимое каждым потоком, читающим его, даже если сам объект был опубликован с...
1408 просмотров
schedule 02.06.2023

Почему написано, что нельзя ссылаться на неконечную переменную i внутри внутреннего класса, определенного другим методом?
У меня есть прослушиватель нажатия кнопки, а в методе onCreate() у меня есть локальная переменная, например onCreate() { super.onCreate(); int i = 10; Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new...
35575 просмотров

Есть ли хороший способ сделать так, чтобы два неизменяемых объекта ссылались друг на друга?
Возьмите эти два класса Java: class User { final Inventory inventory; User (Inventory inv) { inventory = inv; } } class Inventory { final User owner; Inventory (User own) { owner = own; } } Есть ли способ без...
2271 просмотров
schedule 15.02.2023

Android, позволяющий получить финальную версию для GC
Подбирает ли gc переменные и объекты с ключевым словом final ? Я предполагаю, что это происходит только тогда, когда final выпадает из области видимости и не остается никаких ссылок. Это точно?
161 просмотров
schedule 17.07.2022

Почему создание класса final ускоряет процесс?
Возможный дубликат: Зачем определять класс как final улучшает производительность JVM? У меня есть следующий класс в моем проекте: public final class LinkNode { public int value; public LinkNode next; public LinkNode(int...
518 просмотров

Когда мы должны использовать неинициализированную статическую конечную переменную?
Когда мы должны использовать неинициализированную статическую конечную переменную? Я знаю, что неинициализированной статической переменной final могут быть присвоены значения только в блоке статического инициализатора, но я не могу придумать для...
3060 просмотров
schedule 14.10.2022

Конечные переменные
Возможный дубликат: Зачем отмечать локальные переменные и параметры метода как окончательные в Java? Я использовал PMD в своем коде, и он всегда говорит мне сделать локальные переменные метода final. Может ли кто-нибудь сказать мне,...
248 просмотров
schedule 09.12.2022

неконечная переменная внутреннего класса java
Мне нужно было изменить переменные внутри внутреннего класса, и я получил печально известную ошибку «Не могу ссылаться на неконечную переменную внутри внутреннего класса, определенного в другом методе». void onStart(){ bt.setOnClickListener(new...
3702 просмотров
schedule 01.01.2024

Почему переменные, передаваемые в runnable, должны быть окончательными?
Если у меня есть, скажем, переменная int x = 1 , и я объявляю исполняемый объект в основном потоке и хочу передать x методу исполняемого модуля run() , он должен быть объявлен final . Почему? final int x = 0;//<----must be final... private...
13292 просмотров
schedule 12.10.2022

Временное конечное поле, используемое в качестве блокировки, имеет значение null
Следующий код выдает ошибку NullPointerException . import java.io.*; public class NullFinalTest { public static void main(String[] args) throws IOException, ClassNotFoundException { Foo foo = new Foo(); foo.useLock();...
4240 просмотров

внутри JButton требуются конечные переменные, выполняемые действием?
Итак, у меня есть JList , и я пытаюсь использовать его внутри метода JButton s actionPerformed , и он просит меня сделать JList final , почему это так, ниже фрагмент кода public SomeClass() { btnNewButton.addActionListener(new...
1909 просмотров
schedule 23.04.2023