CLASES INTERNAS ESTANDARES
Esta situación se da cuando tenemos una clase no estatica
definida en el interior de otra clase, como un miembro de la misma:
Class Externa{
Class Interna{
}
.
.
.
}
Instanciación
de la clase interna
Cuando se
presenta un caso como este, la instaciacíón de la clase externa se realiza de
la forma estándar. Sin embargo, para crear una instancia de la clase interna,
dado que esta es un miembro no estatico de la externa, será necesario disponer
previamente de una instanci a de la clase interna seguirá la siguiente
sintaxis.
Externa
.Interna in = ex.new
Interna
Clase
Interna tiene acceso al reto de los miembros de la clase externa.
Utilización
de this
Dentro de la
clase, la palabra this hace referencia a la instancia en ejecución de la clase
interna
Si desde el
interior de la clase interna quiere hacerse referencia a la instancia de la
clase externa deberá utilizarse la expresión:
Clase_externa
.this
Ejemplo:
public class
Externa {
public void mostrarExterno(){
System.out.println("objeto externo
");
}
class Interna{
public void muestraInterno(){
System.out.println("objeto
interno ");
}
public void imprimir(){
this.muestraInterno();
Externa.this.mostrarExterno();
}
}
}// fin de la clase externa
public class Principal {
public static void main(String[] args){
Externa ex = new Externa();
Externa.Interna in = ex.new Interna();
in.imprimir();
}
}
Modificadores
para una Clase Interna
Una clase
interna es un miembro mas de la clase, por tanto, en su definición se puede
utilizar los siguientes modificadores:
Final, abstract, static, prívate,
protected y public
Citado de el libro Programador Certificado de Java 2 Curso practico 2ª Edición.
Autor Antonio Martin Sierra
No hay comentarios:
Publicar un comentario