Múltiplos objetos

6 respostas
carloshsamaral

Você quer criar um pessoa só e colocar ela onde? Lista, banco … ? Mas pra que você quer usar isso ? Eu to meio lento ainda que eu dormi mal então desculpa HAHA se conseguir falar um pouco mais da dúvida e eu souber te ajudar =]

Da pra fazer dessa seguinte forma com lista…

Pessoa p = new Pessoa();

p.setNome("Caique");
p.setIdade(22);
lista.add(p);

p.setNome("Carlos");
p.setIdade(22);
lista.add(p);

Com isso você vai ter dois objetos de pessoa. Quando eu faço algo pra exibir fica mais ou menos assim.

for(int i=0;i<lista.size();i++){
Pessoa p = new Pessoa(lista.get(i).getNome, lista.get(i).getIdade);
}

6 Respostas

eubens
Bom dia galera. Sou novo no fórum e mais novo ainda em desenvolvimento POO. Bem eu tenho uma duvida quanto o uso de vários objetos. quando instanciamos um novo objeto no java eu sei que ele é único dentro do programa por exemplo:
pessoa joao = new pessoa () ;
// sei que só vai existir esse joão

Mas se eu precisar criar novos objetos do tipo pessoa, terei que fazer isso manualmente? ou seja terei que instanciar um novo objeto:

pessoa joao = new  pessoa();  
 pessoa marcos = new pessoa();

não uma maneira de instanciar automaticamente sempre que eu precisar criar um novo objeto desse tipo? mudando apenas
a instancia que poderia ser definida pelo usuário. Meu raciocínio esta correto?

abraços.

eubens

boa noite

bem não sabia de lista em java o que ajudou bastante. Foi mal por não explicar a duvida direito, o exemplo objeto pessoa
era só bem um exemplo se eu precisa-se criar outro objeto do mesmo tipo. obg

rmendes08

eubens:
boa noite

bem não sabia de lista em java o que ajudou bastante. Foi mal por não explicar a duvida direito, o exemplo objeto pessoa
era só bem um exemplo se eu precisa-se criar outro objeto do mesmo tipo. obg

Sempre que você precisar criar um novo objeto você precisa invocar o construtor através do operador new, não tem como escapar disso. Mesmo que você utilize uma lista para referenciar vários objetos, para cada objeto criado você precisa chamar novamente o construtor através do operador new.

rmendes08

carloshsamaral:
Você quer criar um pessoa só e colocar ela onde? Lista, banco … ? Mas pra que você quer usar isso ? Eu to meio lento ainda que eu dormi mal então desculpa HAHA se conseguir falar um pouco mais da dúvida e eu souber te ajudar =]

Da pra fazer dessa seguinte forma com lista…

Pessoa p = new Pessoa();

p.setNome("Caique");
p.setIdade(22);
lista.add(p);

p.setNome("Carlos");
p.setIdade(22);
lista.add(p);

Com isso você vai ter dois objetos de pessoa. Quando eu faço algo pra exibir fica mais ou menos assim.

for(int i=0;i<lista.size();i++){ Pessoa p = new Pessoa(lista.get(i).getNome, lista.get(i).getIdade); }

Do jeito que você fez, você vai adicionar o mesmo objeto várias vezes na lista. Alterar o estado de um objeto não cria um novo objeto. Acho que você esqueceu uma chamada de construtor nesse código, não ?

Pessoa p = new Pessoa();

p.setNome("Caique");
p.setIdade(22);
lista.add(p);

p = new Pessoa(); //não ficou faltando não ?
p.setNome("Carlos");
p.setIdade(22);
lista.add(p);
juninhoall
eubens:
Bom dia galera. Sou novo no fórum e mais novo ainda em desenvolvimento POO. Bem eu tenho uma duvida quanto o uso de vários objetos. quando instanciamos um novo objeto no java eu sei que ele é único dentro do programa por exemplo:
pessoa joao = new pessoa () ;
// sei que só vai existir esse joão

Mas se eu precisar criar novos objetos do tipo pessoa, terei que fazer isso manualmente? ou seja terei que instanciar um novo objeto:

pessoa joao = new  pessoa();  
 pessoa marcos = new pessoa();

não uma maneira de instanciar automaticamente sempre que eu precisar criar um novo objeto desse tipo? mudando apenas
a instancia que poderia ser definida pelo usuário. Meu raciocínio esta correto?

abraços.

Boa noite, como sua duvida já foi sanada, gostaria de lhe indicar as apostilas da Caelum,

https://www.caelum.com.br/apostila-java-orientacao-objetos/

Muito bom para quem está começando na área,

Gostaria de salientar que classes devem começar com letras maiúsculas conforme o padrão Java

Pessoa p = new Pessoa();
carloshsamaral
rmendes08:
carloshsamaral:
Você quer criar um pessoa só e colocar ela onde? Lista, banco ... ? Mas pra que você quer usar isso ? Eu to meio lento ainda que eu dormi mal então desculpa HAHA se conseguir falar um pouco mais da dúvida e eu souber te ajudar =] Da pra fazer dessa seguinte forma com lista...
Pessoa p = new Pessoa();

p.setNome("Caique");
p.setIdade(22);
lista.add(p);

p.setNome("Carlos");
p.setIdade(22);
lista.add(p);

Com isso você vai ter dois objetos de pessoa. Quando eu faço algo pra exibir fica mais ou menos assim.

for(int i=0;i<lista.size();i++){
Pessoa p = new Pessoa(lista.get(i).getNome, lista.get(i).getIdade);
}

Do jeito que você fez, você vai adicionar o mesmo objeto várias vezes na lista. Alterar o estado de um objeto não cria um novo objeto. Acho que você esqueceu uma chamada de construtor nesse código, não ?

Pessoa p = new Pessoa();

p.setNome("Caique");
p.setIdade(22);
lista.add(p);

p = new Pessoa(); //não ficou faltando não ?
p.setNome("Carlos");
p.setIdade(22);
lista.add(p);

Vou ser sincero, eu não esqueci ... Eu fiz essa burrada mesmo porque eu pensei que ia funcionar! Acabou tirando uma duvida também

Criado 3 de novembro de 2015
Ultima resposta 13 de nov. de 2015
Respostas 6
Participantes 4