Я нашел довольно хороший совет, который я пытаюсь применить: избегайте инициализации полей класса значениями по умолчанию.
Я до сих пор часто вижу:
public class Foo
{
boolean b = false;
int n = 0;
float x = 0.0;
SomeClass sc = null;
}
и т. Д.
Это неэффективно (хотя и на второстепенном уровне), поскольку JVM уже установила значения на время выделения переменных, безобразно (и отвлекает читателя от значений не по умолчанию) и раздражает во время отладки (мы должны перейти на время создания класса).
Некоторые люди говорили, что есть случаи, когда такой инициация необходима, но не смогли представить реальный случай. Если у кого-то есть больше информации здесь ...