[quote=“nnfma”]por favor reparem neste codigo…
public class Class1
{
public class DisplayOut {
public String a=null;
public String b=null;
}
public static void main (String[] args)
{
}
public Object retorno() {
DisplayOut out = new DisplayOut();
out.a="primeira";
out.b="segunda";
return out;
}
}
como faço para agora aceder numa outra função ou classe ao objecto out e seus parametros.
editado por jujo -=- Por Favor nao esqueça do BBCode code[/quote]
bom… 1º eu posso dizer q o seu código é feio… não sei o q vc quer com ele… mas seguinte… dando uma explicação
public class Class1
{
Bom aki vc cria um objeto… que é chamado por Class1 …
public class DisplayOut {
public String a=null;
public String b=null;
}
aki vc cria uma subclasse, ou seja… uma classe que é de propriedade da classe Class1 … isto geralmente não é necessário… salvo casos em q está classe acessa coisas da classe q está fora… ou em casos q ela é privada, protected ou package… mas nesse caso… não se vê necessidade…
public static void main (String[] args)
{
}
ese método só é necessário em uma classe se elá for rodar como 1 aplicativo… ou seja… quando vc executa está classe ele xamrá esse método… e aqui não se ve necessidade dele… tanto q ele está vazio…
public Object retorno() {
DisplayOut out = new DisplayOut();
out.a="primeira";
out.b="segunda";
return out;
}
bom aqui … este metódo… cria um objeto DisplayOut e retorna este objeto…, pode se dizer que este comando está meio feio… ficaria melhor assim…
public DisplayOut retorno() {
DisplayOut out = new DisplayOut();
out.a="primeira";
out.b="segunda";
return out;
}
A não ser q quem for receber retorno() não saibe que objeto vai vim…
desnte modo… respondendo a sua pergunta… pra acessar esse objeto out q vc cria e joga… a pessoa precisa fazer o seguinte…
public class RecebeDisplayOut {
public void mexeEmDesplayOut() {
Class1 temp = new Class1();
DisplayOut myOut = temp.retorno();
//bom ai vc pode mexer em myOut.parametros...
}
}
isso é um geito de vc chamar o método de fora…
para chama-lo de dentro da classe… da pra fazer isos no método main… desta forma…
public static void main (String[] args)
{
Class1 myClass1 = new Class1();
DisplayOut myOut = myClass1.retorno();
System.out.println("out.a = "+myOut.a);
System.out.println("out.b = "+myOut.b);
}
bom se tiver + dúvidas