Junior
O que significa a palavra-chave 'final' na linguagem de programação Java?
sobes.tech IA
Resposta da IA
A palavra-chave final em Java é usada para indicar que uma variável, método ou classe não podem ser modificados.
-
Variável
final:- A uma variável declarada como
final, seu valor só pode ser atribuído uma vez. Após a atribuição, ela não pode ser alterada. - Para tipos de dados primitivos, o valor de uma variável
finalé uma constante. - Para tipos de dados referenciais,
finalsignifica que a referência ao objeto não pode ser alterada, mas o estado do objeto (seus campos) pode ser modificado (a menos que os campos do próprio objeto também sejamfinal).
final int MAX_VALUE = 100; // variável final primitiva final List<String> names = new ArrayList<>(); // variável referencial final names.add("Alice"); // OK // names = new ArrayList<>(); // Erro de compilação - não é possível reatribuir a referência - A uma variável declarada como
-
Método
final:- Um método declarado como
finalnão pode ser sobrescrito em subclasses. - Isso é usado para evitar alterações indesejadas no comportamento na hierarquia de herança.
class Parent { final void display() { System.out.println("Este é um método final."); } } class Child extends Parent { // @Override void display() { } // Erro de compilação - não é possível sobrescrever um método final } - Um método declarado como
-
Classe
final:- Uma classe declarada como
finalnão pode ter subclasses (não pode ser herdada). - Isso é usado para garantir a imutabilidade da classe e prevenir a extensão de sua funcionalidade.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Erro de compilação - não é possível herdar de uma classe final - Uma classe declarada como