Objectos

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

Pq vc naum cria classes separadas… pq uma dentro da outra???

[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

Cara um bom projeto OO deve trabalhar com classes em .java diferentes de modo que vc possa reutiliza-las futuramente e SEMPRE tenha somente um Classe publica por .java;

Tipo assim:

[code]]
public class TESTE_1{ //somente uma única classe publica

    public TESTE_1(){
        TESTE_2 t2 = new TESTE_2();
    }
    
    public int metodo_1( int gg){
            return gg;
    } 

    class TESTE_2{ //as outras classes são internas
            public TESTE_2(){

            }
    } 

}

[/code]

Se quiser usar uma classes em varias outras crie um .java so para ela blza…