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?
O problema é que listaAgencias é um ArrayList<Banco>, mas vc tá tentando colocar um Banco[] dentro dela.
Pra fazer sentido, vc teria que mudar listaAgencias para ArrayList<Banco[]>.
Ou, na linha que dá o erro, fazer algo como:
listaAgencias.add(agencias[0]);
1 curtida
Tão simples, tão simples ass:me

Aliás, no meu programa eu irei colocar essas arrays uma dentro da outra, você teria alguma dica de como acessar, por exemplo, listaAgencias[0] -> agencia[1] -> listaContas[1213] -> conta.add (conta também é um “vetor” como você viu)?
Talvez algo assim:
class Banco {
ArrayList<Conta> listaContas;
public void addConta(Conta c) {
listaContas.add(c);
}
public Conta getConta(int id) {
listaContas.get(id);
}
}
class Conta {
int id; String nome; String cpf;
/* ... */
}
class Programa {
static private ArrayList<Banco> listaAgencias;
public static void main(String[] args) {
Conta c1 = new Conta();
Conta c2 = new Conta();
Conta c3 = new Conta();
Conta c4 = new Conta();
Banco b1 = new Banco();
b1.addConta(c1);
b1.addConta(c2);
Banco b2 = new Banco();
b2.addConta(c3);
b2.addConta(c4);
listaAgencias.add(b1);
listaAgencias.add(b2);
/* ... */
listaAgencias.get(0).getConta(0).nome;
}
}
Vi, mas será que faz sentido? A variável contas é um array de bancos?
No código que mostrei acima, pensei em uma lista de bancos, cada banco contem várias contas, mas contas não deveria conter vários bancos.
Botei bancos, na verdade é agencia (onde você cria o cartao), então cada conta seleciona uma agencia(onde ele vai criar a conta). Nesse caso eu queria fazer um vetor de agencias, e a agencia tem nome e vetor de contas.