Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não entendo o p q funcionou assim ?

para a class Data abaixo: ´´´ public class Data {

private int dia, mes, ano;

public void setDia (int d){ this.dia = d; }

public void setMes (int m){ this.mes = m;

}

public void setAno (int a){ this.ano = a; }

public String getData () {

return this.dia+"/"+this.mes+"/"+this.ano; } } ´´´ quando invoco os métodos abaixo

´´´ public void setDia (int d){ this.dataAdmisao = new Data(); this.dataAdmisao.setDia(d); } public void setMes (int m){

this.dataAdmisao.setMes(m); }

public void setAno (int a){

this.dataAdmisao.setAno(a); } ´´´ a data fica assim ex: 01/01/2015 . mas se faço ´´´ public void setDia (int d){ this.dataAdmisao = new Data(); this.dataAdmisao.setDia(d); } public void setMes (int m){ this.dataAdmisao = new Data(); this.dataAdmisao.setMes(m); }

public void setAno (int a){ this.dataAdmisao = new Data(); this.dataAdmisao.setAno(a); } ´´´ a data fica assim ex: 0/0/2015.

?ajuda ai p q métodos se diferem em espaço na memoria então p q quando crio o objeto Data no método setDia no ex. que fica 01/01/2015 acredito que deveria ficar 01/0/0 pois não criei o Data em setMes e setAno . 0.o ?

3 respostas
solução!

Kenny,

Seu código está todo embaralhado e sua pergunta está muito confusa, use a formatação de código com o símbolo de crase e não acento agudo ;) Veja, quando você cria uma nova data a cada chamada dos métodos setDia, setMes e setAno, você está criando um novo objeto em memória e destruindo o anterior, por isso a sua data fica 0/0/2015. Mas quando você cria a data em apenas uma chamada, você simplesmente vai preenchendo os demais atributos do objeto, o que faz a sua data ficar completa. Você instancia uma vez a classe, criando um objeto em memória e depois vai preenchendo seus atributos. Neste caso a sua data fica completa, 01/01/2015.

Sandro,

Obrigado pela reposta! desculpa a formatação.

Amigo, boa tarde. Se você formatar o código fica mais fácil a compreensão e logo em seguida te ajudar.

Obrigado!