Construtor padrão vs. inicialização de campo embutido
Qual é a diferença entre um construtor padrão e apenas inicializar os campos de um objeto diretamente?
Que razões existem para preferir um dos exemplos a seguir?
Exemplo 1public class Foo
{
private int x = 5;
private String[] y = new String[10];
}
Exemplo 2public class Foo
{
private int x;
private String[] y;
public Foo()
{
x = 5;
y = new String[10];
}
}