Capacitación de Java

Sintaxis del lenguaje Java

Clases dentro de otras (Jerarquizadas)

Java permite definir clases dentro de otras. A esto se le denomina clases jerarquizadas (Nested classes).

class OuterClass { //clase externa
     ...
    static class NestedClass {
        ...
    }
    class ClaseInterna {
        ...
    }
}

Las clases jerarquizadas no estáticas son llamadas clases internas (inner classes). Las estáticas son llamadas static nested classes.

class OuterClass {
    ...
    static class StaticNestedClass {
        ...
    }
    class InnerClass {
        ...
    }
}
	

¿Porqué usar Nested Classes?

Clases Nested Estáticas

Al igual que los métodos estáticos, en estas clases solo podemos ver las variables y métodos estáticos.

OuterClass.StaticNestedClass //para llamar a una clase nested estática
		

Clases Nested No Estáticas (Inner Classes)

De igual manera, las clases internas actúan como un campo o método de instancia, y pueden acceder tanto a métodos y campos de instancia como de clase. Se las suele utilizar como clases helper, es decir, clases que realizan tareas específicas, que ayudan a otras clases para hacer más legible / entendible el código.

ClaseExterna.ClaseInterna interna = ClaseExterna.new ClaseInterna();
        
Índice Siguiente