Item 1: Considere os métodos Static Factory em vez de construtores
O modo tradicional para uma classe permitir que uma cliente obtenha uma instância é fornecer um construtor público. Há outra técnica que deve fazer parte do conjunto do java toolkit de todo programador. Uma classe pode fornecer um método static factory public, que é simplemente um método estático que retorna uma instância de classe.