Java proporciona una característica que nos permite crear una clase dentro de otra clase conocida como clase anidada o clase interior y la clase que posee la clase interna se conoce como una clase exterior. La clase interna se puede especificar de la misma manera que especificamos cualquier otro atributo o método de clase.
En Java, no podemos declarar/crear una clase con un modificador de acceso privado para que cualquier otra clase pueda acceder a la clase desde adentro o fuera del paquete. Sin embargo, para proporcionar seguridad, necesitamos crear clases privadas, y para hacerlo, podemos crear clases internas con privado Modificadores de acceso.
Este artículo proporcionará una guía completa para las clases internas en Java y, en este sentido, necesitamos comprender los siguientes conceptos:
Empecemos!
¿Qué es la clase interior en Java?
Una clase que se declara/crea dentro de alguna otra clase se conoce como una clase interna. Puede acceder a todos los atributos de clase y funciones de miembros de la clase exterior. Las características principales de las clases internas incluyen seguridad mejorada, legibilidad de código y capacidad de mantenimiento.
Sintaxis
La sintaxis básica de la clase interna se describe en el fragmento dado a continuación:
clase externaCómo crear y acceder a la clase interior en Java
La creación de clase interior es muy simple, todo lo que tenemos que hacer es crear una clase dentro de una clase. Para acceder a la clase interna, primero tenemos que crear una instancia/objeto de la clase exterior y después, podemos crear el objeto de la clase interna/anidada.
Ejemplo
El fragmento anterior muestra cómo funciona una clase interna en Java.
Cómo acceder a los atributos/métodos de la clase exterior
La clase interna puede acceder a los atributos de clase o las funciones de los miembros de la clase exterior, el siguiente ejemplo proporcionará una mejor comprensión:
Ejemplo
El fragmento de código dado a continuación accede al nombre1 Atributo de la clase exterior de la clase interna:
clase exteriorEl código completo y su salida se muestran en el fragmento dado a continuación:
La salida autentica que la clase interna accede con éxito el atributo de clase de la clase exterior.
Clase interior privada en Java
En Java, no se puede crear una clase regular con el privado Modificador de acceso, sin embargo, se puede crear una clase interna con el acceso privado y los objetos fuera de la clase no pueden acceder a la clase interior privada.
Ejemplo
Si alguien intenta acceder a la clase interior privada, Java lanzará un error:
clase exteriorTodo el código es el mismo excepto el modificador de acceso de clase interna:
El fragmento anterior verifica que una clase externa no puede acceder a la clase interior.
Clase interior estática en Java
También se puede crear una clase interna con el modificador de acceso estático y el beneficio de la clase interna estática es que no es necesario crear el objeto del exterior clase para la creación de objeto de clase interior estática.
La instancia/objeto de la clase estática se puede crear utilizando la siguiente sintaxis:
Clase exterior.INTERCLASS OBJ = nueva clase externa.InnerClass ();Ejemplo
clase exteriorEl código completo y la salida respectiva irán así:
A estático La clase interior no es capaz de acceder a los atributos o métodos de clase de la clase externa:
El fragmento de código anterior verifica que la clase interna estática no puede acceder al miembro de la clase exterior.
Conclusión
En Java se puede crear una clase dentro de otra clase denominada clase interna y para crear una clase interna primero tenemos que crear una instancia/objeto de la clase exterior y luego podemos crear el objeto de la clase interna. A clase interior privada También se puede crear en Java y no se puede acceder desde la clase exterior. Además, en un clase interior estática, No hay necesidad de crear el objeto del exterior clase para acceder a la clase estática interna y no puede acceder a los miembros de la clase de la clase exterior.