Galera o neg�cio � o seguinte:

A passagem � sempre por valor.

Tipos primitivos (int, float, double ...) s�o passados por valor, logo no
exemplo a seguir o valor de i n�o � modificado.

int i = 10;
muda(i);

void muda(int j) {
  j = 15;
}

M�todos que recebem objetos, recebem, na realidade, uma C�PIA do endere�o do
objeto, ou seja apenas o VALOR do endere�o do objeto. Lembrando que em java
arrays s�o objetos, analizemos o c�digo a seguir:

int[] i = {1, 2, 3};
muda(i);

void muda(int[] j) {
  j[0] = 101;
}

nesse caso o valor do array i foi modificado ( o elemento de indice 0 passou
de 1 para 101 ). Essa mudan�a ocorreu pq o par�metro j cont�m uma c�pia do
endere�o de i, a partir dessa c�pia foi poss�vel acessar o objeto original e
modifica-lo. Vejamos outro exemplo:

int[] i = {1, 2, 3};
muda(i);

void muda(int[] j) {
  j = new int[] { 10, 20, 30 };
}

Nesse caso o array i n�o se modifica! Pois apenas a C�PIA do endere�o de i
foi modificada e n�o o endere�o original de i.

Espero que tenha ficado claro, t+!

-----Original Message-----
From: Bruno Borges [mailto:[EMAIL PROTECTED]
Sent: segunda-feira, 16 de junho de 2003 16:08
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Pergunta for Dummies


ai senhor do ceu... array eh um objeto...

o q vc entende por "por referencia" ??

eh qdo vc tem:

int i = 10;
muda(j);

muda(int j) {
  j = 15;
}

i continua sendo 10, certo? em pascal, se eu declarasse "var j: integer"
daih seria "por referencia"... daih o i iria mudar, certo?

agora faz o seguinte:

int[] i = {1, 2, 3};
muda(i);

muda(int[] j) {
  j = {101, 102, 103};
}

manda imprimir os valores de i, apos o metodo muda... e daih vc me diz se eh
passado por valor ou por referencia...

:)

PS: nao me leve a mau... estou com colica hoje... :(


----- Original Message -----
From: Alan
To: [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2003 6:05 PM
Subject: Re: [java-list] Pergunta for Dummies


Como por valor se o conte�do do Array est� sendo alterado...???

Preste aten��o quando o array � criado no m�todo main, ele � criado com os
seguintes valores:
[0,1,2].
E quando o System.out.println retorna o Array ele foi alterado para:
[0,1,99]...

...??? Por refer�ncia!!!
Alan.
----- Original Message -----
From: leonardo bruno
To: [EMAIL PROTECTED]
Sent: Thursday, June 05, 2003 10:19 AM
Subject: Re: [java-list] Pergunta for Dummies


aqui vai um link que eu peguei no GUJ que mostra que a passagem � feita por
valor
http://www.geocities.com/mcglonec1978/javacert/javacert.htmlhttp://www.geoci
ties.com/mcglonec1978/javacert/javacert.html

[]s
l�o


>From: "Alan"
>Reply-To: [EMAIL PROTECTED]
>To:
>Subject: Re: [java-list] Pergunta for Dummies
>Date: Fri, 30 May 2003 00:02:05 -0300
>
>Ol�,
>
>Objetos e Arrays s�o passados por refer�ncia.
>Ai vai um exemplo:
>-------------------------------------------
>package teste;
>
>public class Class1
>{
> String s1;
> public Class1()
> {
> this.s1 = "Valor 1"; //o valor inicial �
>Valor 1
> }
>
> public void alteraObjeto(Class1 c1) //esse m�todo recebe uma classe
>Class1 por refer�ncia
> {
> c1.s1 = "Valor 2"; //o valor � alterado para
>Valor 2
> }
>}
>--------------------------------------
>package teste;
>
>public class Class2
>{
> public static void main(String [] args)
> {
> Class1 c1 = new Class1(); //aqui o valor � setado para Valor 1
> Class1 c2 = new Class1();
>
> System.out.println(c1.s1); // Valor 1 � exibido
> c2.alteraObjeto(c1); //aqui o objeto � alterado para
>Valor 2, pois � passado por refer�ncia
> System.out.println(c1.s1); // Valor 2 � exibido. A classe Class1
>foi alterada por refer�ncia
> }
>}
>
>---------------------------------------------
>----- Original Message -----
>From: "Leonardo Hartleben Reinehr"
>To:
>Sent: Wednesday, May 21, 2003 4:13 PM
>Subject: RES: [java-list] Pergunta for Dummies
>
>
>
>Ol�,
>
> > Ainda acredito que quando a passagem for de objetos ser� por refer�ncia
> > e n�o por valor...
>
>Em Java, par�metros s�o sempre passados por valor, independente se o
>par�metro � um objeto ou um tipo primitivo. Fa�a o teste a seguir que voc�
>vai comprovar isso:
>
>public class Teste {
> public static void main(String[] args) {
> String str = "Valor 1";
> teste(str);
> System.out.println(str);
> }
>
> public static void teste(String s) {
> s = "Valor 2";
> }
>}
>
>O texto que ser� impresso � "Valor 1".
>
>Veja em http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html,
>no item "Pass by Value", que l� explica direitinho o que acontece na
>passagem de par�metros, e porque os casos que voc� colocou funcionam. Aqui
>na lista mesmo, h� algum tempo, essa d�vida apareceu e houve bastante
>debate, d� uma olhada no hist�rico.
>
>Um abra�o,
>Leonardo
>
>------------------------------ 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]
>-------------------------------------------------------------------------
>
>
>
>
>------------------------------ 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]
>-------------------------------------------------------------------------
>



MSN Hotmail, o maior webmail do Brasil. Fa�a o seu
agora. ------------------------------ 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] ---------------------------------------
----------------------------------



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


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