|
![]() |
||
Java - Parâmetros por Referência
|
||
. Nós temos 754.111 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Newbie
|
Hail Pessoal!
Alguém aí sabe como fazer passagem de parâmtros por referência, em Java? Outra coisa, eu estou aprendendo Java, e quem está me ensinando disse que devo ter o corpo do programa como: Código:
Aguardo uma resposta! VLW!!!
__________________
Flame of Udûn |
|
|
|
|
|
#2 (permalink) | |
|
Highlander
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
o java, assim como o C, não tem uma "passagem por referência" explícita.
No C, isso é contornado com o uso de ponteiros; assim, ao invés de vc passar a variável por referência, vc passa a referência para ela (que é um ponteiro). Por ex.: Código:
Sugiro fortemente a você que reveja o seu código, pois a princípio, em programação Orientada a Objeto, nunca seria necessário passar um parâmetro por referência: isso vai contra o princípio do encapsulamento. Se você está precisando alterar um parâmetro, então esse código está no lugar errado. Agora, se vc não encontrar uma forma de evitar essa passagem por referência, sugiro que vc defina um objeto, inicialize-o com os valores que devem ser alterados, e passe esse objeto como parâmetro. Dentro da função, vc pode alterar os atributos desse objeto à vontade. Citação:
public significa que todos tem acesso total a esse atributo/método (o objeto que eu citei acima teria que ter todos os atributos públicos). Uma classe pública pode ser utilizada em qualquer programa. private significa que esse atributo/método só pode ser acessado por métodos da própria classe. Uma classe private só pode ser acessada dentro do próprio módulo. package é o modo assumido quando não há outro modificador. Significa que o atributo/método/classe pode ser usado por outras classes que estejam no mesmo pacote. O pacote é definido no início do arquivo fonte. ex.: package javax.swing.TextArea static é o modificador que cria atributos/métodos de classe. Um atributo de classe tem o mesmo valor para todas as instâncias daquela classe. Um método de classe é tal que a classe não precisa ser instanciada para que o método seja chamado. O melhor exemplo de método de classe são os contrutores e destrutores, e o método System.main(), que é chamado antes de que qualquer instância de qq objeto possa ser criada. O parâmetro recebido pelo método System.main é um array de objetos do tipo String. É o equivalente Java do conhecido "argv[]". Corresponde a cada um dos parâmetros que o usuário passou na linha de comando ao chamar este programa. Se vc viu este tópico, lá a gente discutiu que quando vc não conhece o tamanho do array (caso do argv[]), vc tem que passar o tamanho desse array para qq função que precise manipulá-lo. Daí o outro parâmetro, argc. Código:
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns ![]() |
|
|
|
|
|
|
#3 (permalink) |
|
Veterano
|
bom..
em java vc pode passar parametros por referencia usando vetores.. tipo. declara eles no main... e depois chama o metodo assim: Metodo(vetor1, vetor2, vetor3...) sem os colchetes.. e no metodo Static void Metodo(v1[], v2[], v3[]...) bom.. nao sei se deu pra entender... =p qualquer coisa eu posto um exemplo ae... =p |
|
|
|
|
|
#4 (permalink) | |||
|
Highlander
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Citação:
Citação:
É preciso pensar bastante no que eu disse aqui: Citação:
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns ![]() |
|||
|
|
|
![]() |
| Opções do Tópico | |
|
|