Ele criou a classe AutenticacaoUtil para nao repetir código, até ai ok, uma duvida que tenho é, na Classe Sistema interno temos o código abaixo (mudei só o nome do parametro e os print):
public class SistemaInterno {
    private int senha ;
    public void autentica (Autenticavel au) {
        boolean autenticou = au.autentica(this.senha);
        if (autenticou) {
            System.out.println("Bem vindo ao Bytebank, você está logado no sistema." );
    }else { System.out.println("senha incorreta, você tem mais 2 tentativas...");
    }
No caso teremos objetos diferentes sendo validados num só lugar, mas minha dúvida é como vou setar uma senha para ser comparada pela classe AutenticacaoUtil? Se o valor é padrão para todos os objetos ta sendo um só que ta sendo setado na classe SistemaInterno.
Para esclarecer, eu quero que o autentica tenha valores diferentes para cada objeto pois, a senha do administrador não é mesma do gerente por exemplo. Eu quero definir uma senha especifica para cada objeto criado, ele não especifica isso no vídeo, deixei o atributo senha da classe SistemaInterno em branco para poder setar direto no objeto, mas ta dando errado.
Meu código sempre da que a senha ta invalida, pq ta comparando com um valor dentro da classe SistemaInterno ( vou deixar a classe de teste e a classe do AutenticadorUtil que eu nomeei de AutenticadorObj):
Autenticador para nao repetir o código:
public  class AutenticadorObj {
    private int senha;
    public void setSenha(int senha) {
        this.senha = senha;        
    }
    public boolean autentica(int senha) {
        if(this.senha==senha) {
            return true;
        }
        else {return false;
        }
    }
}Classe que testa o Sistema ( eu tento criar uma senha e usar o autentica do objeto com as mesma senha pra receber a mensagem de bem vindo, mas recebo a de senha invalida
public class TestaSistema
{
    public static void main(String[] args) {
        Cliente cliente = new Cliente();
        cliente.setSenha(256);
        cliente.autentica(256);
        SistemaInterno si = new SistemaInterno();
        si.autentica(cliente);
    }
} 
            