My rules:
- Don’t initialize with the default values in declaration (
null
,false
,0
,0.0
…). - Prefer initialization in declaration if you don’t have a constructor parameter that changes the value of the field.
- If the value of the field changes because of a constructor parameter put the initialization in the constructors.
- Be consistent in your practice (the most important rule).