una tipos que programacion polimorfismo metodos herencia ejemplos constructores clases clase atributos java coding-style

java - tipos - que es una clase en programacion



¿Deberíamos declarar un constructor público cuando la clase se declara como paquete privado? (4)

Creo que en este caso no hay necesidad de declarar un constructor público ya que la clase no es accesible fuera del paquete de todos modos. Pero, ¿hay algún impacto oculto cuando la clase solo tiene un paquete de constructor privado?


No, no tienes que declarar el constructor público; Los constructores privados de paquetes serán igualmente utilizables. Las clases fuera del paquete no podrían usar el constructor de todos modos, ya que no pueden ver la clase.


no podemos hacer un constructor público en una clase privada porque no se puede acceder a la clase privada fuera y no se puede acceder a ninguno de sus métodos y los constructores son funciones especiales de los miembros por lo que tampoco se puede acceder desde fuera, por lo que no se puede declarar pública porque finalmente viola la definición privada de clase


Los constructores no se pueden definir en la parte privada de la clase. El compilador no le permitirá hacerlo ya que los miembros definidos como privados no son accesibles por el programa principal. Siempre que lo llamemos, solo puede acceder a él la clase en la que lo estamos definiendo o la etiqueta de amigo. El compilador dará el nombre del constructor y no es accesible.


Si su clase es un paquete privado, los niveles de acceso indicados por la palabra clave modificador public junto con el nivel de acceso privado predeterminado del paquete del constructor son equivalentes.

Sin embargo, puede indicar el comportamiento que desea que tenga el método en caso de que la visibilidad de clase se modifique durante el desarrollo. Esto puede suceder cuando abre algunas API que anteriormente eran internas. En ese caso, parece más conservador declarar el constructor como paquete privado ya que no abre todas las puertas al mismo tiempo.