Palavra-chave final Java
Palavra-chave final Java
Neste tutorial, aprenderemos sobre variáveis finais, métodos e classes Java com exemplos.
Em Java, o final
palavra-chave é usada para denotar constantes. Ele pode ser usado com variáveis, métodos e classes.
Uma vez que qualquer entidade (variável, método ou classe) é declarada final
, ele pode ser atribuído apenas uma vez. Aquilo é,
- a variável final não pode ser reinicializada com outro valor
- o método final não pode ser substituído
- a classe final não pode ser estendida
1. Variável final Java
Em Java, não podemos alterar o valor de uma variável final. Por exemplo,
class Main {
public static void main(String[] args) {
// create a final variable
final int AGE = 32;
// try to change the final variable
AGE = 45;
System.out.println("Age: " + AGE);
}
}
No programa acima, criamos uma variável final chamada age . E tentamos alterar o valor da variável final.
Ao executarmos o programa, obteremos um erro de compilação com a seguinte mensagem.
cannot assign a value to final variable AGE
AGE = 45;
^
Observação :Recomenda-se usar letras maiúsculas para declarar variáveis finais em Java.
2. Método final Java
Antes de aprender sobre métodos finais e classes finais, certifique-se de conhecer o Java Inheritance.
Em Java, o
final
O método não pode ser substituído pela classe filha. Por exemplo,
class FinalDemo {
// create a final method
public final void display() {
System.out.println("This is a final method.");
}
}
class Main extends FinalDemo {
// try to override final method
public final void display() {
System.out.println("The final method is overridden.");
}
public static void main(String[] args) {
Main obj = new Main();
obj.display();
}
}
No exemplo acima, criamos um método final chamado
display()
dentro do FinalDemo
classe. Aqui, o Principal classe herda a FinalDemo classe. Tentamos substituir o método final no Main classe. Ao executarmos o programa, obteremos um erro de compilação com a seguinte mensagem.
display() in Main cannot override display() in FinalDemo
public final void display() {
^
overridden method is final
3. Classe final Java
Em Java, a classe final não pode ser herdada por outra classe. Por exemplo,
// create a final class
final class FinalClass {
public void display() {
System.out.println("This is a final method.");
}
}
// try to extend the final class
class Main extends FinalClass {
public void display() {
System.out.println("The final method is overridden.");
}
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 pela classe Main classe.
Ao executar o programa, obteremos um erro de compilação com a seguinte mensagem.
cannot inherit from final FinalClass
class Main extends FinalClass {
^
Java