Tentei achar um motivo pra aqui pra tal gambeta mas não achei.
"//o nome da variável deveria ser c1" não, não deveria porque nem compila.
Usa a mesma variável com uma nova instância a cada iteração, simples.
Renato acho que você não soube se expressar bem, confesso que não ficou claro sua dúvida.
mas enfim, vou te responder o que me parece ser o problema.
public static void main(final String[] args){
//Varaiavel qualquer..
String clienteConta = null;
//Instanciando um cliente com nome: Fulano e conta: 000303-03
Cliente cliente = new Cliente("Fulano", "000303-03");
//Variavel criada no inicio do main, recebendo a junção de nome com conta.
clienteConta = cliente.getNome() + " / " + cliente.getConta();
}
public class Cliente {
private String conta; // Criar get/set
private String nome; // Criar get/set
//Construtor default
Cliente(){
}
//Construtor com argumentos
//Aqui você consegue instânciar uma classe cliente com os parâmetros que você passar
//nome e conta, podendo recupera-los com get/set em cada respectivo atributo.
Cliente(final String nome, final String conta){
this.nome = nome;
this.conta = conta;
}
}
Não é possível criar nomes de variáveis a partir de Strings. Isso porque nomes de variáveis são criadas em tempo de compilação, enquanto que objetos String são criados já em tempo de execução. No entanto, a ferramenta para resolver o seu problema existe, e chama-se array. Através de um array você pode armazenar vários objetos sob o mesmo nome de variável, e utilizar um índice para acessar cada objeto individualmente, veja:
Cliente [] clientes = new Clientes[10]; //cria um array para armazenar 10 clientes
//cria 10 clientes
for(int i = 0 ; i < clientes.length ; i++){
clientes[i] = new Cliente();
}
//exibe o nome de todos os clientes
for(int i = 0 ; i < clientes.length ; i++){
System.out.println(clientes[i].getNome());
}