Еще один, если инициализация сложна, и вы должны сделать это во время построения, предоставьте статический метод, который возвращает результат, как в:
Code()
{
NEWLINE = newLineValue();
creation();
}
Code(String name, int number)
{
NEWLINE = newLineValue();
creation();
name = new Something(name);
number = new Magic(number);
}
private static String newLineValue()
{
return System.getProperty("line.separator");
}
В этом случае newLineValue()
является тривиальным, поэтому я бы не стал использовать его здесь, но если бы на самом деле было много работы, то это могло бы быть полезно. Вы также можете передать параметры из конструктора.