Pessoal, tudo bem?
Fiquei confuso inicialmente com a primeira autla deste esse modulo 6, porém acredito que entendi agora e só queria a confirmação de vocês.
Quando criamos a class "SistemaInterno", ela terá um método que recebe um parametro que recebe um objeto de Class Cliente, correto? E após receber esse parametro ela vai chamar o método "autentica" da classe do objeto, ou seja da Class Cliente?
Poderia colocar da seguinte maneira, para ficar mais fácil visualmente? Acabei confundindo no "g" e no "autentica" serem usados em dois casos disintos.
public class SistemaInterno {
private int senha = 2222;
public void autenticaSistema(Cliente g) {
    boolean autenticou = g.autentica(this.senha);
    if (autenticou) {
        System.out.println("Funcinou");
    } else {
        System.out.println("Não Funcionou");
    }
}}
public class TesteSistema {
public static void main(String[] args) {
    Gerente Leonardo = new Gerente();
    Leonardo.setSenha(2222);
    SistemaInterno si = new SistemaInterno();
    si.autenticaSistema(Leonardo);}
Seria esse o entendimento?
 
            