Constructores `private` y `protected`
En Java, los constructores son métodos especiales que se utilizan para inicializar objetos. Los constructores tienen el mismo nombre que la clase y no tienen un tipo de retorno. En Java, los constructores pueden ser public, private, protected o default.
En este artículo, veremos cómo se pueden utilizar los constructores private y protected en Java.
Constructores private
Un constructor private es un constructor que solo se puede invocar desde dentro de la clase en la que se define. Esto significa que no se puede crear una instancia de la clase desde fuera de la clase. Los constructores private se utilizan para implementar el patrón de diseño Singleton, que garantiza que solo haya una instancia de una clase en un programa.
Aquí hay un ejemplo de cómo se puede definir un constructor private en Java:
En este ejemplo, la clase Singleton tiene un constructor private que se utiliza para garantizar que solo haya una instancia de la clase en un programa.
Constructores protected
Un constructor protected es un constructor que solo se puede invocar desde dentro de la clase en la que se define o desde una subclase de la clase en la que se define. Esto significa que no se puede crear una instancia de la clase desde fuera de la clase, pero se puede crear una instancia de la clase desde una subclase.
Aquí hay un ejemplo de cómo se puede definir un constructor protected en Java:
En este ejemplo, la clase Animal tiene un constructor protected que se utiliza para inicializar los campos nombre y edad. La clase Perro tiene un constructor que invoca el constructor protected de la clase Animal para inicializar los campos nombre y edad y también inicializa el campo raza.
Conclusión
En este artículo, hemos visto cómo se pueden utilizar los constructores private y protected en Java. Los constructores private se utilizan para garantizar que solo haya una instancia de una clase en un programa, mientras que los constructores protected se utilizan para inicializar los campos de una clase y permitir que las subclases accedan a ellos.