3
respostas

sistema interno com variável final???

Meu sistema interno tem a private int senha, como as outras. O sistema esta pedindo que a variável senha se torne final. O que é?

3 respostas

Cristiane,

Quando se coloca final em uma variavel, significa que esta terá um valor constante.

Isso deve estar acontecendo por que voce declarou a variavel como privada(private) e não gerou um setter ou um construtor que preencha esta variavel.

Sugiro que crie um construtor ou um setter.

Oi Cristiane, tudo certo? Como já foi explicado na resposta anterior, a palavra final indica que a variável terá um valor constante, ou seja, não podemos modificar seu valor após a sua primeira atribuição. Breve exemplo: final int idade = 26; Com isso, declaramos uma constante do tipo inteiro, com o nome idade e valor 26, agora não podemos mais modificar o valor da idade.

Segue uma implementação do sistema interno, apenas para comparação:

public class SistemaInterno {

    private int senha = 2222;

    public void autentica(Autenticavel fa) {
        boolean autenticou = fa.autentica(this.senha);
        if (autenticou) {
            System.out.println("Pode entrar no sistema!");
        } else {
            System.out.println("Não pode entrar no sistema!");
        }
    }

}