java abstract-class private-constructor

java - clase abstracta vs constructor privado



abstract-class private-constructor (1)

Deberías ir con constructor private .

Si su clase es abstracta, puede ampliarse y crear objetos. Según mi entendimiento de la pregunta, lo que quieres es una clase no instanciable.

Del artículo 4 de Java efectivo :

Intentar imponer la no instabilidad haciendo que un resumen de clase no funcione. La clase puede ser subclasificada y la subclase instanciada. Además, engaña al usuario para que piense que la clase fue diseñada para herencia

Tengo una clase java que solo tiene campos y métodos estáticos , por lo que no quiero que se cree ningún objeto para eso. Puedo lograr esto de dos maneras,

  1. hacer clase abstarct.
  2. utilizar constructor privado.

¿Cuál de los dos es mejor camino?