Este artigo fornece os usos básicos da palavra-chave final na programação Java. Descrições breves e claras da situação da aplicação ajudarão você a aprender rapidamente o material. A palavra-chave final tem interpretações diferentes dependendo de onde é usada no programa. Mas a essência desta palavra é a mesma – a proibição da mudança . Na verdade, ao aplicar esta palavra a uma das essências da linguagem Java: uma variável, objeto, método ou classe, fazemos dela um valor constante, estável e imutável, como o penteado do cantor Joseph Kobzon... Deixe-me lembrá-lo de uma breve definição de uma constante. Constante é uma quantidade constante (escalar ou vetorial) em matemática, física, química. Uma constante matemática é uma quantidade cujo valor não muda; nisso é o oposto de uma variável. Vejamos 4 casos em que podemos usar a palavra final .
1. Criando uma constante de um tipo de dados primitivo.
Aqui o valor MY_CONST não pode ser alterado. Assim, se você escrever a palavra final próximo a uma variável primitiva, então ela é uma constante.public class MyClass{
public final int MY_CONST = 13;
}
2. Criando uma constante de tipo de referência.
Este código não causará erro, mas apenas até você atribuir um novo valor à variável s1 . Ou seja, a palavra final para tipos de referência proíbe a modificação da referência, e não do objeto para o qual a referência aponta. Vale ressaltar também que a atribuição é válida em qualquer parte do programa, mas apenas uma vez.public class MyClass2{
public final String s1;
public MyClass2() {
s1 = new String();
}
}
3. Proibição de substituir um método em uma classe descendente
A palavra final próxima a um método proíbe a substituição deste método em classes descendentes.public class Example{
public final void hello() {
System.out.println(“Hello my people!”);
}
}
Ou seja, se você criar uma classe que herda de Exemplo e escrever nela o seguinte código, ocorrerá um erro:
public class ExtendedExample extends Example{
public void hello() {
System.out.println("Extended hello everyone!!!");
}
}
4. Proibição de criação de classe descendente
Uma classe final é uma classe que não pode ser uma superclasse, ou seja, é proibido escrever descendentes para ela.public final class MyClass3 {
}
Autora: Irina Volgina
GO TO FULL VERSION