Tipos simples sao passados por valor (copia). Ja' objetos (referencias) sao passados por referencia. Lembre-se que um array É UM OBJETO !!!!
Inte' !!! Neto ----- Original Message ----- From: "Lincolm Ferreira de Aguiar" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, January 29, 2002 9:39 AM Subject: Re: RES: [java-list] Como é feita a passagem de parâmetros em Java? > 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] > > www.geocities.com/lincolmf > > ----- Original Message ----- > From: <[EMAIL PROTECTED]> > To: <[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ó 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] > > > > > > -----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] > > Assunto: Re: [java-list] Como é feita a passasgem de parâmetros em > > Java? > > > > > > > > Adalberto Zanata > > [ [EMAIL PROTECTED]] > > [ http://www.espacoreverso.com.br/a.zanata] > > > > ----- Original Message ----- > > From: "Paulo Henrique Castro" <[EMAIL PROTECTED]> > > To: <[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] > > ----------------------------------------- > > -------------------------------- > > > > > > > > > > ------------------------------ 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] > > ------------------------------------------------------------------ > > ------- > > > > ------------------------------ 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] > > ------------------------------------------------------------------ > > ------- > > > > > > > > -- "'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 [EMAIL PROTECTED] > ------------------------------------------------------------------------- _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com ------------------------------ 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] -------------------------------------------------------------------------