Hola gente, acá con una nueva duda.
¿Una clase interna hereda de de la clase contenedora o como es?
public class Prueba{
private String texto = "Hola mundo";
private String texto2 = "Hola mundo 2";
private void saludar() {
System.out.println(texto);
}
class ClassInterna extends javax.swing.JFrame{
public ClassInterna() {
saludar();
System.out.println(texto2);
}
}
}
Si se fijan la clase interna hereda de JFrame, y aún así puedo seguir usando las variables y métodos de la clase contenedora, osea es como si tuviera un método mas.
O a lo mejor puede ser, por que la clase interna esta en el ambiente de la clase contenedora, nose exactamente.
¿Como funciona la clase interna, como un método?
La regla de Java es que no puedes acceder a los atributos o métodos privados directamente desde otra clase, a no ser que sea mediante métodos públicos, y pues yo desde la clase interna accedo sin problemas al método privado y variables privadas.
¿En clases internas es diferente?
El ambiente A tiene a su vez un ambiente B. Éste ambiente B tiene las mismas cosas que hay en el ambiente A, pero no las que hay en el ambiente C. Si hay una pelota en el ambiente A, también será visible en el ambiente B. Así aplica a las clases.
PD: No sé si la analogía estará bien xDD.
Muchas gracias por pronta respuesta Gus. No entendí mucho tu respuesta, pero se a que te refieres xD, y ya me quedo claro, por que me sonaba eso de los ambientes de clases y todo ese rollo xD.
Salu2.