Parametro por referencia

Pessoa tenho um formulário (j2me) onde o usuário preenche alguns dados do pedido que será lancado.
Em algum momento eu chamo o metodo getInfo() do formulário. Este metodo deve preencher uma instancia da classe Pedido com as informações que o usuário colocou no formulário.
segue o metodo getInfo(Pedido) na classe Formulário

public void getInfo(Pedido pedido){
novo = new Pedido();
novo.cliente = "cliente que o usuário escolheu";

pedido = novo;
}

Segue o codigo onde chamo o metodo getInfo() do formulário

Pedido p = new Pedido();
formulario.getInfo(p);//o formulário deve preencher os atributos da instancia "p"
//aqui será esperado que "p" estivesse com as informações, conforme o metodo getInfo() preencheu, porem "p" continua como se getInfo não tivesse feito nada.

O problema é que parece que nao da pra passar um objeto por referencia em um parametro!

é verdade isso? como contorno este problema?

Isto aqui não vai funcionar.

 novo = new Pedido();  
 novo.cliente = "cliente que o usuário escolheu";  
   
 pedido = novo; 

O correto, obviamente, é fazer:

public void getInfo(Pedido pedido){  
    pedido.cliente = "cliente que o usuário escolheu";  
}  

todo e qualquer objeto é passado por referência em Java

[quote=rodpuc][quote]
O problema é que parece que nao da pra passar um objeto por referencia em um parametro!
[/quote]
todo e qualquer objeto é passado por referência em Java[/quote]

Há controvérsias.

Passagem por referência significa que a função receptora pode saber o endereço de memória do objeto passado, e com isso pode colocar um outro objeto nesse endereço.

Como Java não possui isso, as referências para os objetos são passadas por cópia, e o objeto ganha uma nova variável que o refere.

Não há controvérsia, como vc msm disse as referências para os objetos são passadas por cópia logo o objeto é passado por referência. O fato da referência ser copiada é apenas um detalhe de implementação, não muda o fato.