Gostei dos nomes dos métodos! haha
Foi mal por não conseguir expressar bem o que queria dizer (realmente, faltou o codigo…)
Então, era algo como isso que você escreveu. O problema é que estava acontecendo um loop de instanciação, ou algo assim.
O que estava acontecendo é o seguinte:
ControladorPrincipal instancia ControladorCliente:
ControladorCliente controladorCliente = new ControladorCliente();
Ao instanciar o ControladorCliente (new ControladorCliente()), o ControladorCliente, em seu método construtor, instancia ControladorPrincipal
ControladorPrincipal controladorPrincipal = new ControladorPrincipal();
E, ai, volta ao inicio, fazendo esse loop eterno.
Eu felizmente já consegui a solução para esse problema:
Criar uma variavel do tipo ControladorPrincipal.
No método construtor do ControladorCliente, em vez de instanciar um ControladorPrincipal, receber um ControladorPrincipal como parametro e declarar a variavel do tipo ControladorPrincipal. No ContrladorPrincipal, instanciar o ControladorClientes passando como parametro ele mesmo, ‘this’.
ficaria
class ControladorPrincipal {
controladorCliente controladorCliente;
public ControladorPrincipal(){
controladorCliente = new ControladorCliente(this);
}
void metodoDosSonhos() { // <--- Método que você quer usar
System.out.println("Quero ser executado...");
}
}
class ControladorCliente {
ControladorPrincipal controladorPrincipal;
public ConstroladorCliente(ControladorPrincipal controladorPrincipal){
this.controladorPrincipal= controladorPrincipal;
}
void realizandoMeusSonhos() {
controladorPrincipal.metodoDosSonhos(); // <---- Usando o método que você queria usar