¿Hay buenas razones para un constructor público de una clase abstracta?

No es posible crear un objeto llamando directamente al constructor de unabstract clase. El constructor de unabstract La clase solo se puede llamar desde una clase derivada. Por lo tantoparece para mí, los constructores de una clase abstracta deben serprotected o package-private (este último para los casos inusuales de restringir el uso de un constructor a clases derivadas dentro del paquete). Sin embargo, Java permite al constructor de unabstract clase para serpublic.

¿Hay alguna circunstancia en la que seaútil declarar el constructor de unabstract clase para serpublic, más bien queprotected o paquete privado?

Esto no es un duplicado de la pregunta "Modificador de acceso de constructor de clase abstracta": claramente túpuede declarar un constructor para serpublic; Quiero saber si alguna vez hay algunabueno razón para hacerlo. Me parece que no la hay. veo queC # tiene una peculiaridad similar.

Respuestas a la pregunta(4)

Su respuesta a la pregunta