English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender sobre variáveis finais, métodos finais e classes finais em Java através de exemplos.
A palavra-chave final em Java é usada para representar constantes. Ela pode ser usada com variáveis, métodos e classes.
Qualquer entidade (variável, método ou classe) uma vez declarada como final, pode ser atribuída apenas uma vez. Isso é,
Variável final não pode ser reinicializada com outro valor
Método final não pode ser overrides
Classe final não pode ser herdada
Em Java, não podemos alterar o valor de uma variável final. Por exemplo,
class Main { public static void main(String[] args) { //Crie uma variável final final int AGE = 32; //Tente alterar a variável final AGE = 45; System.out.println("Idade: " + AGE); } }
No programa acima, criamos uma variável final chamada age e tentamos alterar o valor da variável final.
Ao executar o programa, aparecerá a seguinte mensagem de erro, indicando erro de compilação.
não pode atribuir um valor à variável final AGE AGE = 45; ^
Atenção:É recomendável usar a forma maiúscula para declarar variáveis finais em Java.
Antes de entender métodos e classes finais, certifique-se de que você entendeHerança Java.
Em Java, o método final não pode ser overrides por subclasses. Por exemplo,
class FinalDemo { //Criar método final public final void display() { System.out.println("Este é o método final."); } } class Main extends FinalDemo { //Tentativa de reescrever método final public final void display() { System.out.println("Método final overrides."); } public static void main(String[] args) { Main obj = new Main(); obj.display(); } }
No exemplo acima, criamos um método final chamado display() dentro da classe FinalDemo. Aqui, a classe Main herda a classe FinalDemo.
Tentamos overrides o método final na classe Main. Quando executamos o programa, aparecerá a seguinte mensagem de erro, indicando um erro de compilação.
display() em Main não pode overrides display() em FinalDemo public final void display() { ^ método final overriding
Em Java, a classe final não pode ser herdada por outra classe. Por exemplo,
final class FinalClass {}} //Criar método final public void display() { System.out.println("Este é um método final."); } } class Main extends FinalClass { //Tentativa de reescrever método final public void display() { System.out.println("Reescrever método final"); } public static void main(String[] args) { Main obj = new Main(); obj.display(); } }
No exemplo acima, criamos uma classe final chamada FinalClass. Aqui, tentamos herdar a classe final a partir da classe Main.
Ao executar o programa, aparecerá a seguinte mensagem de erro, indicando erro de compilação.
cannot inherit from final FinalClass class Main extends FinalClass { ^