Clases Anidadas Java
Clases Anidadas Java
Tiene acceso a todas las variables y métodos de la clase que la contiene. Aqui vemos
como crear una instancia de una clase interna desde un método de la clase que la
contiene.
Una clase local a método no puede acceder a las variables locales a no ser que sean
declaradas como finales.Los modificadores de acceso que pueden tener son:
abstract y final.
Clases anónimas
Una clase anónima se define en la misma línea donde se crea el objeto y debe ser una
subclase de otra clase o implementar una interfaz. Como la clase no tiene nombre sólo se
puede crear un único objeto, ya que las clases anónimas no pueden definir constructores.
1. class Test {
2. public void imprimir(){
3. System.out.println("Imprimir test");
4. }
5. }
6. public class Externa {
7. Test Test2 = new Test(){//aqui se define la clase anónima
8. public void imprimir(){
9. System.out.println("Imprimir clase anónima");
10. }
11. };//la definición de la clase termina con ";"
12.
13. void proceso() {
14. Test2.imprimir();
15. }
16. public static void main (String []args) {
17.
18. Externa Test2 = new Externa();
19. Test2.proceso();
20.
21. }
22. }
En una instancia de clase anónima sólo se puede acceder a los métodos que herede,
sobrescriba o implemente de una interfaz.
Clases internas estáticas
Las clases internas estáticas no pueden acceder a las variables y métodos no estáticos de
la clase externa directamente sino a través de un objeto.