Eh o seguinte , realmente achei que tava louco , mas
entao fiz um outro exemplo pra tu dares uma olhada ...
neste caso eu procuro nao fazer as coisas dentro do
metodo main() ... fiz uma filha de JApplet mas tu
podes rodar com o comamdo "java EEste" , nao precisa
do appletviewer ...
 O que importa eh que tu repares como temos um
Quadradinho (um objeto de uma classe qualquer) que eh
mandado por parametro tendo um dado inteiro coordx
igual a 1 , e apos executado o metodo mudeOsValores()
este valor eh alterado para 0 ... e entao , me explica
esta passagem por valor !!! ...
 Cara , eu fiquei abismado quando testei o que tu
mandaste e realmente funcionou como tu diceste , mas
daih eu pensei que tivesse a ver com o metodo main ,
que eh statico , e coloquei no init() (por isso fiz
uma filha de JAPplet) , mas deu na mesma para o
inteiro e a String , interessante como um inteiro e um
objeto do tipo String se comportam diferente de todos
os objetos que jah criei ateh hoje (como o Quadradinho
por exemplo) ...

import javax.swing.*;
import java.awt.*;

public class EEste extends JApplet{

        Quadradinho q;

        public void init(){
          q=new Quadradinho(new Rectangle(),1,1,1);
          System.out.println("q.coordx= "+q.coordx);
          mudeOsValores(q);
          System.out.println("q.coordx= "+q.coordx);
        }

        void mudeOsValores(Quadradinho q) {
                q.coordx=0;
        }

        public static void main(String args[]){
                EEste ee=new EEste();
                ee.init();      
                ee.start();
        }
}

/*tu vais precisar da classe Quadradinho tambem , mas
eh soh pra funcionar mesmo , trata-se de uma classe
que eu tinha aqui a mao pra exemplo*/

import java.awt.*;

public class Quadradinho{

        public Rectangle r;
        public int coordx,coordy,redesup,redeinf,index;

    public Quadradinho(Rectangle re,int x,int y,int
i){
                redesup=0;
                redeinf=0;
                r=re;
                coordx=x;
                coordy=y;
                index=i;
   }
}

 --- Ricardo Santiago <[EMAIL PROTECTED]>
escreveu: > 
> N�o estou querendo te chamar de louco, mas acho que
> voce deveria ter testado antes de dizer que "sempre
> funcionou" errado.
> Por voce mesmo nao testa?
> 
> public class ProvaDaPassagemPorValor {
> 
>   public static void main(String [] s) {
>     String s = "test";
>     int i = 1;
>     mudeOsValores(s, i);
>     System.out.println(s + i);
> 
>   }
> 
>   private static void mudeOsValores(String s, int i)
> {
>      s = "outroValor";
>      i = 2;
>   }
> 
> }
> 
> Ricardo Munhoz Santiago
> 
> --- Wild Boar Wannabe <[EMAIL PROTECTED]>
> wrote:
> > 
> >  Perae !!! Eh claro que refletira as mudancas !!!
> > Apos
> > ser chamado o metodo mudeOsValores() o inteiro e a
> > String mandados por parametro terao seus valores
> > mudados !!! Ou entao eu tou louco !!! Por que
> sempre
> > foi assim pra mim ...
> > 
> >  --- Ricardo Santiago <[EMAIL PROTECTED]>
> > escreveu: > 
> > > Cara, vamos deixar claro:
> > > Tudo em java � passado por valor.
> > > MAS, voc� s� mant�m REFERENCIAS para objetos (ou
> > > pointeiros se achar melhor).
> > > Logo, todo objeto � passado por referencia visto
> > que
> > > a
> > > referencia � que � passada por valor!
> > > 
> > > Isso n�o implica de forma alguma em perda de
> > > performance, simplesmente significa que qq
> > v�riavel
> > > que voc� passar como param�tro, se for
> modificada
> > > dentro do m�todo invocado,n�o refletir� as
> > mudan�as
> > > quando o m�todo retornar
> > > 
> > > Como em:
> > > 
> > > String s = "test";
> > > int i = 1;
> > > 
> > > mudeOsValores(s, i);
> > > 
> > > System.out.println(s + 1); // == "test1"
> > > 
> > > Onde o metodo mudeOsValores contem o seguinte
> > codigo
> > > 
> > > public void mudeOsValores(String s, int i) {
> > >   s = "outracoisa";
> > >   i = 2;
> > > }
> > > 
> > > Ricardo Munhoz Santiago
> > > --- [EMAIL PROTECTED] wrote:
> > > > S�rgio,
> > > > 
> > > > Eu gostaria de fazer uma pequena corre��o no
> seu
> > > > email.
> > > > 
> > > > Java n�o possui passagem por refer�ncia.
> Somente
> > > por
> > > > valor. Existe uma forma
> > > > de "simular" passagem de par�metros por
> > > refer�ncia,
> > > > utilizando os objetos ou
> > > > tipos primitivos armazenados em um array, por
> > > > exemplo. Mas n�o existe
> > > > passagem por refer�ncia.
> > > > 
> > > > Antes que o algu�m d� pulinhos de alegria, eu
> > > > pergunto: e qual � o problema?
> > > > Algu�m por favor, apresente um artigo
> > > demonstrativo,
> > > > baseado em testes de
> > > > performance ou de algum requisito que mostre
> > qual
> > > �
> > > > o grandis�ssimo problema
> > > > de Java utilizar passagem por valor, e n�o por
> > > > refer�ncia? Mesmo que haja,
> > > > isso significa que Java � ruim?
> > > > 
> > > > Abra�os,
> > > > Denard
> > > > 
> > > > -----Original Message-----
> > > > From: Sergio Oliveira Jr.
> > > > [mailto:[EMAIL PROTECTED]] 
> > > > Sent: ter�a-feira, 2 de outubro de 2001 22:56
> > > > To: [EMAIL PROTECTED]
> > > > Cc: [EMAIL PROTECTED];
> > > > [EMAIL PROTECTED]
> > > > Subject: [java-list] Re: Artigo Java x C#
> > > > 
> > > > Mauro,
> > > > 
> > > > N�o era a minha intens�o te tirar do s�rio.
> N�o
> > > vejo
> > > > problema algum em me 
> > > > engajar num papo com voc� face-to-face. S�
> estou
> > > > conversando com voc� via 
> > > > email por ser mais conveniente, afinal a
> > > tecnologia
> > > > est� a� para facilitar a
> > > > 
> > > > nossa vida, certo?
> > > > 
> > > > Vou continuar falando racionalmente, apesar de
> > n�o
> > > > ver nenhum problema em te
> > > > 
> > > > encontrar para um papo mais descontra�do.
> > > > 
> > > > Alguns absurdos que vc escreveu:
> > > > 
> > > > - Java n�o possui todos os tipos derivados de
> > > > ancestral comum:
> > > > 
> > > > Possui sim... Al�m de possuir tipos primitivos
> > > mais
> > > > leves, que por sua vez 
> > > > possuem suas classes equivalentes (Wrappers).
> > > Todas
> > > > s�o derivadas da class 
> > > > Object.
> > > > 
> > > > - Java n�o possui Structs:
> > > > 
> > > > Realmente n�o possui a palavra Structs, mas �
> > > > rid�culo simular um C Struct 
> > > > com uma class ou inner class.
> > > > 
> > > > - Java n�o pode passar parametros por
> > referencia:
> > > > 
> > > > Todos os objetos Java s�o passados por
> > referencia.
> > > > Qualquer principiante em 
> > > > Java precisa saber disso.
> > > > 
> > > > - Java n�o possui Propriedades:
> > > > 
> > > > J� ouviu falar em JavaBeans ??? Tb existe uma
> > > classe
> > > > Properties que faz isso
> > > > 
> > > > facilmente.
> > > > 
> > > > - Java categoricamente n�o possui eventos nem
> > > > delegate:
> > > > 
> > > > Toda a GUI do Java � orientada a eventos e a
> > > > listeners.
> > > > Java n�o possui ponteiros para fun��es, mas
> > possui
> > > > interfaces que podem 
> > > > facilmente e de uma forma mais elegante e
> > poderosa
> > > > realizar callbacks.
> > > > 
> > > > - Java n�o possui Atributos:
> > > > 
> > > > N�o sei o que vc quiz dizer com isso, mas Java
> > > > possui uma API de Reflection 
> > > > poderos�ssima.
> > > > 
> > > > - Java n�o possui Ponteiros:
> > > > 
> > > > Ainda bem! Referencia = Ponteiro com a
> excess�o
> > > que
> > > > n�o podemos fazer 
> > > > opera��es aritim�ticas com referencias.
> > > > Todo mundo sabe que os ponteiros sempre foram
> a
> 
=== message truncated === 

_______________________________________________________________________________________________
Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. � f�cil 
e gr�tis!
http://br.geocities.yahoo.com/

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

Responder a