public class Banco extends Contas {
/**
* @return the contas
*/
public ArrayList<Banco> getListaContas() {
return listaContas;
}
/**
* @param listaContas the contas to set
*/
public void setListaContas(ArrayList<Banco> listaContas) {
this.listaContas = listaContas;
}
ArrayList<Banco> listaAgencias = new ArrayList<>();
Banco[] agencias = new Banco[2];
ArrayList<Banco> listaContas = new ArrayList<>();
Banco[] contas = new Banco [3];
public Banco(String nomeAgencia, String nomeConta, int saldo, int limite) {
super(nomeAgencia, nomeConta, saldo, limite);
this.nomeAgencia = nomeAgencia;
}
public void criarAgencia() {
agencias = null;
System.out.println("Nome agencia");
sc.nextLine();
agencias[0].setNomeAgencia(sc.nextLine());
agencias[1].setListaContas(null);
listaAgencias.add(agencias);//AQUI
}
public void criarConta() {
contas = null;
System.out.println("Nome agencia");
sc.nextLine();
contas[0].setNomeConta(nomeConta);
contas[1].setNomeAgencia(nomeAgencia);
contas[2].setLimite(limite);
}
Diz que 
Como contornar isso?
