Amigo, o que voce vai fazer com o valor de um endereco de memoria? O que voce diz esta incorreto pois passagem por referencia implica em obter o ponteiro de endereco, alterar o valor contido naquele endereco e pronto. Java recebe o valor daquele endereco, o conteudo, e nao um ponteiro. Este valor eh tratado em outro espaco de memoria e retornado ao chamador como se voce estivesse atribuindo um valor a uma variavel. []'s.
> Poizz eh. > > A verdade é uma diferença sintatica: > 'Pass by Reference' indica que a referencia na memoria do objeto é > passado, em java esta referencia é passada 'por valor' e não, como em > C/C++ 'por referencia' por isso, em Java não pode alterar o valor do > objeto original. > > Leonardo - Itera wrote: > > > A única resposta certa é : A passagem de parametros é feita somente > > por valor. > > > > > > > > Não adianta consultar a especificação da linguagem.. procure alguma > > explicação conceitual sobre passagem por parametro e por valor pois > > creio que você e o Lincolm estão falando a mesma coisa mas cada um > > chama de um nome. > > > > > > > > []'s, > > > > > > > > Leonardo. > > > > -----Mensagem original----- > > De: Sven van ´t Veer [mailto:[EMAIL PROTECTED]] > > Enviada em: Segunda-feira, 4 de Fevereiro de 2002 07:25 > > Para: [EMAIL PROTECTED] > > Assunto: Re: Re: RES: [java-list] Como é feita a passagem de > > parâmetros em Java? > > > > Lincolm, > > > > A única resposta certo é: > > > > Em java passagem de parametros de tipos primitivos é por valor e > > de Objetos é por referencia. No cado de Objetos é passado a > > referencia do Objeto na vm. Ao entrar no metodo o VM cria uma > > copia do objeto. Dentro do metodo este cópia é usado igual > > qualquer outro variavel local. Se não for bastante claro, ver a > > 'java language specification', > > > > Sven > > > > Lincolm Ferreira de Aguiar wrote: > > > >>Olá Fábio, > >> > >>Tudo bem. Olha, ainda não ficou muito claro para mim o que você disse sobre a passagem de parâmetros em Java. Fiz um exemplo com uma > >>matriz, e a matriz mesmo foi alterada. Quem disse isso foi um usuário aqui da lista, que no momento não lembro o nome dele. Como > >>pode ser? Veja o código: > >> > >>public class Passagem extends Object { > >> > >> Object names[][] = new Object[1][2]; > >> > >> public Passagem(){ > >> > >> names[0][0] = "Lincolm"; > >> names[0][1] = "Ferreira"; > >> objects(names); > >> > >> for(int x=0; x<=names.length - 1; x++){ > >> for(int y=0; y<=names[x].length - 1; y++){ > >> System.out.println(names[x][y]); > >> } > >> } > >> > >> } > >> > >> public static void main(String args[]){ > >> > >> Passagem ps = new Passagem(); > >> > >> } > >> > >> public void objects(Object[][] n){ > >> > >> n[0][1] = "Aguiar"; > >> > >> > >> } > >> > >>} > >> > >>Se comentar a chamada de objects(names) o resultado será: > >>Lincolm > >>Ferreira > >> > >>No entanto, se remover os comentários a saída será: > >>Lincolm > >>Aguiar > >> > >>Sinceramente, poderia me explicar. > >> > >>Lincolm Ferreira de Aguiar > >>WebMaster - QueroProgramar > >>[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > >> > >>www.geocities.com/lincolmf <http://www.geocities.com/lincolmf> > >> > >>----- Original Message ----- > >>From: <[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]> > >>To: <[EMAIL PROTECTED]> <mailto:java- [EMAIL PROTECTED]> > >>Sent: Monday, January 28, 2002 8:03 PM > >>Subject: RE: RES: [java-list] Como é feita a passagem de parâmetros em Java? > >> > >> > >>>Quer ter seu próprio endereço na Internet? > >>>Garanta já o seu e ainda ganhe cinco e-mails personalizados. > >>>DomíniosBOL - http://dominios.bol.com.br > >>> > >>> > >>> > >>> > >>> > >>>Amigos, > >>> > >>>Como esse assunto está sendo bastante discutido, vou me meter no meio > >>>também e tentar esclarecer... > >>>O Java trata a passagem de parâmetros de forma diferente para tipos > >>>primitivos e objetos, mas sempre é passada por valor. > >>>Funciona mais ou menos assim (vou usar o exemplo do curso de Java da > >>>Sun, que fiz a semana passada): > >>> > >>>Se você passa um tipo primitivo para um método assim: > >>>... > >>>int i = 10; > >>>this.alteraValor(i) > >>>System.out.print(i) // Imprime o valor 10 > >>>... > >>> > >>>alteraValor(int j){ > >>>j = 15; > >>>} > >>>O que acontece? O Java entrega uma cópia do conteúdo de i para o método. > >>>S&oac > >>>ute; que o conteúdo de i é igual a 10. > >>>Já se fizermos a mesma coisa com um objeto, vejam só: > >>> > >>>... > >>>MyDate data = new MyDate("28/01/2002"); > >>>this.alteraValor(data); > >>>System.out.print(data); // Imprime o valor "28/01/2002"; > >>>this.alteraValor2(data); > >>>System.out.print(data); // Imprime o valor "28/02/2002"; > >>>... > >>> > >>>alteraValor(MyDate t){ > >>>t = new MyDate("31/07/2002"); > >>>} > >>> > >>>alteraValor2(MyDate t){ > >>>t.setMes("02"); > >>>} > >>> > >>>Porquê no primeiro método o valor não se alterou, mas no segundo sim? > >>>Funciona da mesma maneira que a passagem de um tipo primitivo. O > >>>conteúdo da variável data não é o objeto MyDate, e sim o endereço da > >>>memória onde está o objeto MyDate. E, da mesma maneira como acontece com > >>>o tipo primitivo, esse valor (endereço do objeto) não pode ser alterado > >>>(tentamos alterar essa referência com o comando > >>> new MyDate). > >>>Já o conteúdo do objeto pode ser alterado tranqüilamente, pois ele fica > >>>em outra parte da memória. > >>> > >>>Quaisquer dúvidas, perguntem.... > >>> > >>>[] > >>> > >>>Fábio Jorge Corrêa > >>>Citibank e-Business Solutions > >>>Phone: 55 11 3457.0675 > >>>Fax: 55 11 3457.0652 > >>>[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > >>> > >>> > >>> -----Original Message----- > >>> From: sven [mailto:[EMAIL PROTECTED]] > >>> Sent: sexta-feira, 28 de dezembro de 2001 12:51 > >>> To: java-list > >>> Cc: sven > >>> Subject: Re: RES: [java-list] Como é feita a passasgem de parâmetros > >>> em Java? > >>> > >>> > >>> > >>> Um bom engano... > >>> > >>> Em Java, parametros são passados por referencia, mas dentro da função > >>> uma copia é usado. > >>> > >>> ANDRE MOURA BARRETO wrote: > >>> > >>> > >>> Vc está equivocado. > >>> Java não possue passagem de Parâmetro por referência. > >>> Somente por valor, ou seja, uma cópia é passada. > >>> > >>> -----Mensagem original----- > >>> De: Adalberto Zanata [Forum] [ mailto:[EMAIL PROTECTED]] > >>> Enviada em: Thursday, January 24, 2002 8:16 PM > >>> Para: [EMAIL PROTECTED] <mailto:java- [EMAIL PROTECTED]> > >>> Assunto: Re: [java-list] Como é feita a passasgem de parâmetros em > >>> Java? > >>> > >>> > >>> > >>> Adalberto Zanata > >>> [ [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>] > >>> [ http://www.espacoreverso.com.br/a.zanata] > >>> > >>> ---- > >>>- Original Message ----- > >>> From: "Paulo Henrique Castro" <[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]> > >>> To: <[EMAIL PROTECTED]> <mailto:java- [EMAIL PROTECTED]> > >>> Sent: Thursday, January 24, 2002 11:26 AM > >>> Subject: Re: [java-list] Como é feita a passasgem de parâmetros em > >>> Java? > >>> > >>> > >>> > >>> > >>> Existe uma maneira de diferenciar as passagens de parâmetros em > >>> Java, por > >>> valor e por referência? > >>> > >>> > >>> > >>> Ateh onde sei a passagem de parametros em Java eh somente > >>> por > >>> referencia!! > >>> > >>> []s > >>> > >>> PH > >>> > >>> > >>> -- > >>> "Live fast, die old, and make very sure everyone knows you were > >>> there." - > >>> Alan Cox > >>> > >>> > >>> ------------------------------ LISTA SOUJAVA > >>> ----------- > >>>----------------- > >>> http://www.soujava.org.br - Sociedade de Usuários Java da > >>> Sucesu-SP > >>> dúvidas mais comuns: http://www.soujava.org.br/faq.htm > >>> regras da lista: http://www.soujava.org.br/regras.htm > >>> para sair da lista: envie email para > >>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > >>> ----------------------------------------- > >>> -------------------------------- > >>> > >>> > >>> > >>> > >>> ------------------------------ LISTA SOUJAVA > >>> ---------------------------- > >>> http://www.soujava.org.br - Sociedade de Usu&aa > >>>cute;rios Java da > >>> Sucesu-SP > >>> dúvidas mais comuns: http://www.soujava.org.br/faq.htm > >>> regras da lista: http://www.soujava.org.br/regras.htm > >>> para sair da lista: envie email para > >>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > >>> ---------------------------------------------- -------------------- > >>> ------- > >>> > >>> ------------------------------ LISTA SOUJAVA > >>> ---------------------------- > >>> http://www.soujava.org.br - Sociedade de Usuários Java da > >>> Sucesu-SP > >>> dúvidas mais comuns: http://w > >>>ww.soujava.org.br/faq.htm <http://www.soujava.org.br/faq.htm> > >>> regras da lista: http://www.soujava.org.br/regras.htm > >>> para sair da lista: envie email para > >>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > >>> ---------------------------------------------- -------------------- > >>> ------- > >>> > >>> > >>> > >>> -- "'You guys (at Microsoft) still don't get it,' because it's sort > >>> of Java with reliability, productivity and security deleted." > >>> James Gosling > >>> > >>> > >>> > >>> > >>> > >>> > >> > >> > >>------------------------------ LISTA SOUJAVA -------- -------------------- > >>http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > >>dúvidas mais comuns: http://www.soujava.org.br/faq.htm > >>regras da lista: http://www.soujava.org.br/regras.htm > >>historico: http://www.mail-archive.com/java-list% 40soujava.org.br > >>para sair da lista: envie email para java-list- [EMAIL PROTECTED] <mailto:java-list- [EMAIL PROTECTED]> > >>----------------------------------------------------- -------------------- > >> > > > >-- > >"'You guys (at Microsoft) still don't get it,' > >because it's sort of Java with reliability, productivity and security deleted." > > > > James Gosling > > > > > > -- > "'You guys (at Microsoft) still don't get it,' > because it's sort of Java with reliability, productivity and security deleted." > > James Gosling > > > __________________________________________________________________________ Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------