Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: PabloPbl en 14 Abril 2015, 00:05 AM

Título: [Duda]Uso de clases internas
Publicado por: PabloPbl en 14 Abril 2015, 00:05 AM
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?
Título: Re: [Duda]Uso de clases internas
Publicado por: PabloPbl en 14 Abril 2015, 00:15 AM
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?
Título: Re: [Duda]Uso de clases internas
Publicado por: Usuario Invitado en 14 Abril 2015, 00:20 AM
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.
Título: Re: [Duda]Uso de clases internas
Publicado por: PabloPbl en 14 Abril 2015, 00:32 AM
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.