Pegar a instancia da classe ja instanciada

5 respostas
W

tenho a classe A, esta chama a classe B, a minha duvida e a seguinte como eu faco para executar algum metodo da classe A dentro da classe B, ex.

public class Principal
{
	private SessionFactory factory;
	
	
	public Principal()
	{	
		//super();
		// TODO Auto-generated constructor stub
		
		factory = new Configuration().addClass(Marca.class).buildSessionFactory();
	}

	
	public static void main(String[] args)
	{
				
		f_Princ frm = new f_Princ();
	}
	
	public SessionFactory getFactory()
	{
		return (factory);
	}
	
	
}
public class f_Princ extends JFrame implements ActionListener
{
 código ....

 Como chamar o metodo getFactory aqui dentro ???
}

5 Respostas

E

eae blz?

cara pq tu naum repassa a referencia da tua classe
para dentro da classe que tu quer

dai lah dentro como tu tem a referencia da outra classe
é soh chamar o método que tu quer… :wink:

W

Acho, q assim podera dar certo, mas como eu poderia fazer isso, tentei utilizar um Object para fazer a referencia mas naum deu certo !

Valeu pela ajuda !

M

vc cria um método na classe B que recebe uma referencia a um objeto da classe A, e armazena a referencia dentro da classe.
qnd quiser, dentro da classe B, chamar um método da classe A, basta fazer isso normalmente através da referencia armazenada.
e se forem método estáticos, nao precisa de nd disso… é só usar A.nomeDoMetodo() normalmente.

W

To apanhando nisso ai, vejamos como eu fiz

Onde estou errando ?

public class A
{
   public static void main(String[] args)
	{
             b newb = new b(this);
	}

    public getMetodo ()
    {
    }
}


public class b
{
private object objeto;

b (Object obj)
{
   objeto = obj;
}

private teste ()
{
   objeto.getMetodo();  // Nao funciona
}
}
W

Consegui resolver, criei um metodo estatico na classe a, quando eu chamo o metodo da classe A dentro da classe B ela me retorna o Handle !

Muito obrigado a todos que me ajudaram !

Criado 7 de abril de 2005
Ultima resposta 7 de abr. de 2005
Respostas 5
Participantes 3