Neste tutorial, aprenderemos sobre variáveis, métodos e classes finais Java com exemplos.
Em Java, a final
palavra-chave é usada para denotar constantes. Ele pode ser usado com variáveis, métodos e classes.
Depois que qualquer entidade (variável, método ou classe) é declarada final
, ela pode ser atribuída apenas uma vez. Isso é,
- a variável final não pode ser reinicializada com outro valor
- o método final não pode ser sobrescrito
- a aula 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 idade. E tentamos mudar o valor da variável final.
Ao executar o programa, obteremos um erro de compilação com a seguinte mensagem.
cannot assign a value to final variable AGE AGE = 45;
Nota : Recomenda-se usar maiúsculas para declarar variáveis finais em Java.
2. Método final Java
Antes de aprender sobre os métodos e classes finais, certifique-se de saber sobre a herança Java.
Em Java, o final
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 nomeado display()
dentro da FinalDemo
classe. Aqui, a classe Main herda a classe FinalDemo.
Tentamos sobrescrever o método final na classe Main. Ao executar 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. Java final Class
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 Principal.
Ao executar o programa, obteremos um erro de compilação com a seguinte mensagem.
cannot inherit from final FinalClass class Main extends FinalClass (