>
>
>
>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.
>
Exato, então na verdade não existe 'passagem por referencia' em nenhuma 
linguagem uma vez que uma 'referencia' nada mais é do que um 'valor' 
qualquer.

Somente para fechar:
Se eu passaria o valor (sendo o valor do meu objeto, então uma cópia do 
meu objeto), isso não funcionaria:
void method(MyClass c){
c.setText("qual é o resultado");
}
<snip>
MyClass x = new MyClass("novo");
method(x);
System.out.println(x.getText());

Se eu passaria a referencia ou uma copia da referencia, a saida seria: 
"qual é o resultado" se passar MyClass por VALOR (uma copia), o 
resultado seria "novo".

>
> 
> 
> 
> 
>
>-----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




------------------------------ 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] 
-------------------------------------------------------------------------

Responder a