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

Responder a