J'ai la pratique (l'habitude) de près de toujours initialiser dans le constructeur pour deux raisons, à mon avis, il ajoute à readablitiy (plus propre), et de deux, il est plus logique de contrôle dans le constructeur que dans une seule ligne. Même si, initialement, la variable d'instance n'exige pas la logique, de l'avoir dans le constructeur donne plus de flexibilité pour ajouter de la logique dans l'avenir si nécessaire.
Comme les préoccupations mentionnées ci-dessus à propos de plusieurs constructeurs, c'est facilement résolu en ayant un no-arg constructeur qui initialise toutes les variables d'instance qui sont initilized la même pour tous les constructeurs et puis chaque constructeur appelle ce() à la première ligne. Cela résout votre reduncancy questions.