Como eu faço pra chamar um método dentro de outro? Tipo, um método calcula a diferença em meses entre duas datas e armazena essa diferença em uma variável e outro método deve pegar essa variável e utilizá-la. Isso tudo na mesma classe… como eu faço pra utilizar essa variável dentro de outro método?
publicvoidmetodoMaior(){intvariavelquerecebe=diferencaDatas(2012-01-01,2012-02-01);System.out.println("Total de dias é: "+variavelquerecebe);}publicintdiferencaDatas(Datedata1,Date2){//Aqui as contas responsaveis pela contareturnvariavel;}
Deu para entender mais ou menos o que eu fiz?
Os metodos ficam separados, e um chama o outro. O segundo metodo tem um retorno, ou seja, quando tudo que tem no metodo terminar, ele irá retornar um int e esse retorno, na verdade irá para a variavel 'variavelquerecebe', do metodo 'metodoMaior', entende?
Qualquer coisa, dê um grito ai que explico novamente...
R
Ramon_Pires
é só chamar o método que você precisa normalmente,pois você não precisa criar um objeto dessa mesma classe para fazer a chamada de um método dessa mesma classe internamente. Exemplo:
Então Gleidson, n]ao entendi muito bem o uso de variáveis que vc fez… qual variavel do metodomaior vc tá usando no diferencadatas? Assim, usando o seu exemplo, eu queria usar a “variavel” que o metodo diferencaDatas retorna no metodo maior… como dá pra fazer isso?
Gleidson_Henrique
GuilhermeENGMAT:
Então Gleidson, n]ao entendi muito bem o uso de variáveis que vc fez... qual variavel do metodomaior vc tá usando no diferencadatas? Assim, usando o seu exemplo, eu queria usar a "variavel" que o metodo diferencaDatas retorna no metodo maior... como dá pra fazer isso?
É isso mesmo que está acontecendo. Segue a ordem de execução.
publicstaticvoidmain(Stringargs[]){metodoMaior();//1//6 - continuaria o código, caso houvesse mais aqui}publicvoidmetodoMaior(){intvariavelquerecebe=diferencaDatas(2012-01-01,2012-02-01);//2System.out.println("Total de dias é: "+variavelquerecebe);//5}publicintdiferencaDatas(Datedata1,Date2){//Aqui as contas responsaveis pela conta //3returnvariavel;//4 - Aqui, vamos supor que o valor de variavel é = 30 dias, Quando usa o return, quer dizer que esse valor vai voltar para o metodo chamador//que no caso é o metodoMaior. La no metodoMaior, a variavelquerecebe é a variavel que receberá o valor de 30 dias.}
Espero que não tenho dificultado ainda mais seu entendimento.
Repare que o sistema ele vai pulando de um lugar para vários lugares. Ele não trabalha de forma sequencial, como era antigamente. É justamente por esse motivo que temos um tipo de retorno.