public class MinhaClasse{
public int att;
}
public interface ARemote{
public void metodo(MinhaClasse m);
}
@Stateless
@Remote(ARemote.class)
public class ABean implements ARemote{
public void metodo(MinhaClasse m){
m.att=2;
}
}
@Stateless
@Remote(OutroRemote.class)
public class OutroBean implements OutroRemote{
@EJB
ABean abean;
public void outrometodo(){
MinhaClasse m = new MinhaClasse();
m.att=1;
abean.metodo(m);
System.out.println(m.att);
}
}
exercício SCBCD
T
Dado:
Eu acho que OutroBean.outrometodo() imprime 2, mas o livro diz que imprime 1. Alguém sabe porque?
Valeu
abraços
5 Respostas
P
Kra, não sou muito experiente em Java,
mas, cade o new do ABean?
otra, debuga ele q vc descobre sozinho 
Vale lembrar que em Java, passamos uma cópia como argumento para o método. Então, a atribuição de m.att = 2, no Bean não tem efeito sobre o valor do atributo da classe MinhaClasse.
Logo será apresentado 1, como resultado.
Talvez eu num fui muito claro.
Abrazz.
Vale lembrar que em Java, passamos uma cópia como argumento para o método. Então, a atribuição de m.att = 2, no Bean não tem efeito sobre o valor do atributo da classe MinhaClasse.
Logo será apresentado 1, como resultado.Talvez eu num fui muito claro.
Abrazz.
Você está errado.
Para primitivos é passado uma cópia, para Objetos é passada uma referência ao objeto.
Ha! Pegadinha do Malandro…
B
Vai dar 2 mesmo…A lógica dessa questão está muito mais para prova SCJP que a SCBCD…
Criado 25 de abril de 2010
Ultima resposta 26 de abr. de 2010
Respostas 5
Participantes 5
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo