Palavra-chave const em java

Em Java, a palavra-chave const é uma palavra reservada, mas não é usada na linguagem. O conceito que você está procurando é implementado em Java usando a palavra-chave final.

Palavra-chave final

A palavra-chave final em Java é usada para definir constantes e garantir que uma variável, método ou classe não possa ser alterada ou extendida. Aqui está um resumo de como final é usado:

1. Variáveis final

Quando você declara uma variável com final, ela se torna uma constante e não pode ser alterada depois de ser inicializada.

public class Exemplo {
public static final int CONSTANTE = 100; // Declaração de uma constante

public static void main(String[] args) {
System.out.println(CONSTANTE);
// CONSTANTE = 200; // Isso causará um erro de compilação
}
}

2. Métodos final

Quando um método é declarado como final, ele não pode ser sobrescrito por subclasses. Isso é útil quando você deseja garantir que o comportamento de um método não seja alterado por herança.

public class Pai {
public final void metodoFinal() {
System.out.println("Método final não pode ser sobrescrito.");
}
}

public class Filho extends Pai {
// Não é permitido sobrescrever o método metodoFinal()
// public void metodoFinal() { } // Isso causará um erro de compilação
}

3. Classes final

Quando uma classe é declarada como final, ela não pode ser estendida por outras classes. Isso é usado para impedir que a classe seja subclassificada.

public final class ClasseFinal {
// Implementação da classe
}

// Não é permitido estender a classe ClasseFinal
// public class OutraClasse extends ClasseFinal { } // Isso causará um erro de compilação

Resumo

  • Variáveis final: Tornam a variável constante e não podem ser modificadas após a inicialização.
  • Métodos final: Garantem que o método não possa ser sobrescrito por subclasses.
  • Classes final: Impedem que a classe seja estendida por outras classes.

Exemplo Completo

Aqui está um exemplo que demonstra o uso de final em variáveis, métodos e classes:

public final class Constantes {
public static final int MAX_VALOR = 100;

public final void mostrarConstante() {
System.out.println("O valor máximo é: " + MAX_VALOR);
}
}

class Teste {
public static void main(String[] args) {
Constantes c = new Constantes();
c.mostrarConstante();

// c.MAX_VALOR = 200; // Isso causará um erro de compilação
// c.mostrarConstante(); // Isso está correto
}
}

Neste exemplo, MAX_VALOR é uma constante que não pode ser alterada, e o método mostrarConstante não pode ser sobrescrito por subclasses. A classe Constantes também não pode ser estendida.