|
Ei Leonardo, eu sei o que estou
falando. E digo que Java usa passagem por valor. O Sven que est� tentando provar
que � por refer�ncia. J� indiquei alguns links apontando para o JDC(Java
Developement Connection) onde � mostrada claramente essa distin��o.
N�o tenho que provar nada, apenas
digo que Java usa passagem por valor.
----- Original Message -----
Sent: Monday, February 04, 2002 9:46
AM
Subject: RES: Re: RES: [java-list] Como �
feita a passagem de par�metros em Java?
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.
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:
012901c1a8b9$a5d99200$[EMAIL PROTECTED]
type="cite">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&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 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&aa
cute;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://w
ww.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] -------------------------------------------------------------------------
--
"'You guys (at Microsoft) still don't get it,'
because it's sort of Java with reliability, productivity and security deleted."
James Gosling
|