¿puedo crear instancias de una clase interna desde otra?

carls
06 de Mayo del 2004
Hola tengo una duda respecto a las clases internas. Si creo una class cualquiera y dentro creo otra class ( que será la interna) y después en otra clase en la que tenga el main, dentro de ese main intento crear un new claseinterna... esto sería posible??
El compilador no me deja. ¿Como debería hacerlo?
Gracias y un saludo

maramonar
06 de Mayo del 2004
Si el compilador no te deja evidentemente no se debe poder, tendrías que convertir la clase interna a una clase común y corriente....

Heihachi
06 de Mayo del 2004
Si que se puede.
Si la clase interna es estática se puede hacer:
new Externa.interna(...) donde Externa es el nombre de la super clase.

Si no es estática prueba lo mismo cambiando Externa por una instancia de la clase externa.

Si no pudieras puedes crear un método en la clase externa que te devuelva esa instancia:

public class Externa{
//---
public Interna getInterna(){
return new Interna();
}
public class Interna{
//...
}
}

Saludos!