O valor do ponteiro nada mais � que o endere�o que � passado.
-----Mensagem original----- De: Java Dev [mailto:[EMAIL PROTECTED]] Enviada em: segunda-feira, 4 de fevereiro de 2002 14:53 Para: [EMAIL PROTECTED] Assunto: RES: RES: Re: RES: [java-list] Como � feita a passagem de par�metros em Java? Em C a referencia (ponteiro para o tipo de dado) eh passado por valor. Ou seja o valor do ponteiro (&H12735) nao eh alterado, mas a estrutura para o qual ele aponta pode ser alterada. SO EXISTE PASSAGEM POR VALOR Qdo eh necessario alterar o proprio ponteiro(pgms de estrutura de dados) eh necessario passar a famosa indirecao ou "ponteiro para ponteiro". O C++ mascara esse mecanismo numa tentaiva de subir o nivel de tratamento(sera que consegue :-) ?) e inventou a tal passagem por referencia que nada mais eh que abreviacao da declaracao de ponteiro. Em Java eh analogo. O que vc tem tb sao ponteiros disfarcados com nome de referencia. Logo em C/C++ no final das contas so existe passagem por valor. -----Mensagem original----- De: Sven van �t Veer [mailto:[EMAIL PROTECTED]] Enviada em: 04 February 2002 10:21 Para: [EMAIL PROTECTED] Assunto: Re: RES: Re: RES: [java-list] Como � feita a passagem de par�metros em Java? 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] <mailto:[EMAIL PROTECTED]> ] Enviada em: Segunda-feira, 4 de Fevereiro de 2002 07:25 Para: [EMAIL PROTECTED] <mailto:[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: <mailto:[EMAIL PROTECTED]> <[EMAIL PROTECTED]> To: <mailto:[EMAIL PROTECTED]> <[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 <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 c om 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] <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 BARRE TO 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] <mailto:[EMAIL PROTECTED]> ] Enviada em: Thursday, January 24, 2002 8:16 PM Para: [EMAIL PROTECTED] <mailto:[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 <http://www.espacoreverso.com.br/a.zanata> ] ---- - Original Message ----- From: "Paulo Henrique Castro" <mailto:[EMAIL PROTECTED]> <[EMAIL PROTECTED]> To: <mailto:[EMAIL PROTECTED]> <[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< br> ----------- ----------------- http://www.soujava.org.br <http://www.soujava.org.br> - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm <http://www.soujava.org.br/faq.htm> regras da lista: http://www.soujava.org.br/regras.htm <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 <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 <http://www.soujava.org.br/faq.htm> regras da lista: http://www.soujava.org.br/regras.htm <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 <http://www.soujava.org.br> - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://w <http://www.soujava.org.br/faq.htm> ww.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm <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 <http://www.soujava.org.br> - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm <http://www.soujava.org.br/faq.htm> regras da lista: http://www.soujava.org.br/regras.htm <http://www.soujava.org.br/regras.htm> historico: http://www.mail-archive.com/java-list%40soujava.org.br <http://www.mail-archive.com/java-list%40soujava.org.br> 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 -- "'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] -------------------------------------------------------------------------
