2010-11-15 25 views
8

¿Cuál es el beneficio de usar una clase interna estática? ¿Dónde debería preferirlo sobre otras opciones?Clase estática interna en Java

¿Y cómo se asigna su memoria?

+0

posible duplicado de [clase anidada estática en Java, ¿por qué?] (Http://stackoverflow.com/questions/253492/static-nested-class-in-java-why) –

Respuesta

6

Si la clase interna es estática, no necesita una instancia de la clase externa para instanciarla.

Si la clase interna es pública, es básicamente una técnica de determinación del nombre para resaltar el hecho de que la clase "pertenece" a la clase externa.

Si hace que la clase interna sea privada, no puede utilizarse fuera de esa clase.

4

Una de las razones más convincentes para usar clases internas es la composición. En el caso de la composición, la existencia de una entidad es únicamente para el propósito de su entidad superior. Por ejemplo, una Universidad. Una universidad se compone de departamentos. Los departamentos no tienen existencia individual fuera de la universidad. Además, el acceso a los departamentos debería estar controlado por la Universidad. En este caso, podemos tener la clase de Departamento como una clase interna de la clase de la Universidad.

4

¿Y cómo se distribuye la memoria?

La respuesta simple es que la memoria para una clase estática interna se asigna de la misma manera que para una clase no anidada. No hay nada especial en este caso, ya sea con respecto a instancias de las clases o miembros estáticos de la clase.

Cuestiones relacionadas