Las clases internas locales o simplemente clases locales no se declaran dentro de otra clase al
máximo nivel, sino dentro de un bloque de código. normalmente en un método. aunque también se
pueden crear en un inicializador static o de objeto.
Las principales características de las clases locales so las siguientes:
- Como las variables locales. las clases locales sólo son visibles y utilizables en el bloque de código en el que están definidas. Los objetos de la clase local deben ser creados en el mismo bloque en que dicha clase ha sido definida. De esta forma se puede acercar la definición al uso de la clase.
- Las clases internas locales tienen acceso a todas las variables miembro y métodos de la clase contenedora. Pueden ver también los miembros heredados. tanto por la clase interna local como por la clase contenedora.
- Las clases locales pueden utilizar las variables locales y argumentos de métodos risibles en ese bloque de código. pero sólo si son final* (en realidad la clase local trabaja con sus copias de las variables locales y por eso se exige que sean final y no puedan cambiar).
- Un objeto de una clase interna local sólo puede existir en relación con mi objeto de la clase contenedora. que debe existir previamente.
- La palabra this se puede utilizar en la misma forma que en las clases internas miembro, pero no las palabras new y super
No hay comentarios:
Publicar un comentario