[Duda]Uso de clases internas

Iniciado por PabloPbl, 14 Abril 2015, 00:05 AM

0 Miembros y 1 Visitante están viendo este tema.

PabloPbl

Hola gente, acá con una nueva duda.

¿Una clase interna hereda de de la clase contenedora o como es?
Código (java) [Seleccionar]

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?

PabloPbl

#1
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?

Usuario Invitado

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.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

PabloPbl

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.