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

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

  1. Что такое конечная переменная?
  2. Где мы можем использовать переменную Final в Java.
  3. Распространенные варианты использования или подводные камни при использовании ключевого слова Final.
  4. Что такое конечная переменная. Если мы сделаем какую-либо переменную окончательной, мы не сможем обновить значение конечной переменной. Он останется постоянным.

2. Допустим, у нас есть переменная в нашем коде следующим образом.

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

Теперь в приведенном выше коде мы видим две переменные в качестве конечных переменных. Как мы заявили, мы не можем обновить значение этих переменных, и если мы попытаемся сделать то же самое, компилятор не позволит нам это сделать.

В приведенном выше фрагменте кода мы видим, что у нас также есть метод, который объявлен окончательным в классе Test и который переопределяется в дочернем классе. Поэтому, когда мы пытаемся использовать тот же метод method1 из базового класса, компилятор будет жаловаться, что мы не можем переопределить последний метод в дочернем классе. Так что это еще один вариант использования, если мы попытаемся поместить окончательные методы в наш код, мы не сможем расширить это в любом другом дочернем классе.

Поэтому, если у нас есть вариант использования, в котором мы хотим иметь функцию, которую не следует расширять, ее следует объявить окончательной.

В приведенном ниже фрагменте кода мы видим, что мы объявили класс как final, и давайте посмотрим, каковы будут последствия этого и можем ли мы это сделать или нет.

Теперь мы объявили класс Test1 окончательным и расширяем этот класс в Test2. Теперь при компиляции компилятор будет жаловаться на расширение конечного класса.

Мы не можем расширить последний класс.

3. Общие варианты использования ключевого слова final: -

а. Наследуется ли последний метод?

Да, метод Final наследуется, но его нельзя переопределить. Как видно из первого фрагмента кода выше, мы не можем переопределить метод final в дочернем классе, но методы final наследуются дочернему классу.

б. Можем ли мы инициализировать пустую конечную переменную?

Как и в первом фрагменте, мы видели, что существует два способа инициализации конечной переменной. Один при создании конечной переменной, а другой в конструкторе. Если этого не сделать ни в один из моментов, компилятор покажет нам ошибку.

в. Можем ли мы инициализировать статическую конечную переменную в конструкторе?

Статическая конечная переменная может быть инициализирована либо во время объявления, либо в статическом блоке.

д. Может ли конструктор быть окончательным?

Конструкторы не могут быть объявлены окончательными.

е. Можем ли мы удалить или добавить элементы в коллекцию (список), которая является окончательной

Мы можем добавить содержимое в окончательный список, но не можем изменить его ссылку. Эта концепция будет объяснена в следующем фрагменте кода.

Как вы можете видеть в приведенном выше фрагменте кода, я объявил окончательный список, в котором нет элемента в начале. В методе test1 ссылкана конечный список указывает на null. Если мы раскомментируем эту строку, то компилятор покажет ошибку. Причина в том, что конечная переменная является константой, и мы можем указать ей новое значение, тогда как мы можем добавлять или удалять элементы из списка. Конечный объект указывает на объект списка в памяти, и этот объект списка, на который он указывает, не является окончательным, поэтому мы можем добавлять или обновлять элементы списка.

Вывод:-

Если у вас есть какие-либо вопросы или предложения, обращайтесь в раздел комментариев, а для получения консультационной помощи по любому из продуктов для разработки веб-приложений или мобильных приложений отправьте нам электронное письмо по адресу [email protected].