Objeto no inicializado frente a objeto inicializado a NULL

Estoy trabajando en Java.

Normalmente configuro algunos objetos como tales:

public class Foo { private SomeObject someName; // do stuff public void someMethod() { if (this.someName != null) { // do some stuff } } } 

La pregunta es: ¿ someName en este ejemplo se equipara a null , ya que puedo reliably for all objects suponer que la verificación nula de los objetos no inicializados será precisa?

Correcto, tanto los miembros estáticos como los de instancia del tipo de referencia no inicializados explícitamente están configurados como null por Java. La misma regla se aplica a los miembros de la matriz.

De la Especificación del lenguaje Java , sección 4.12.5:

Valores Iniciales de Variables

Cada variable en un progtwig debe tener un valor antes de que se use su valor:

Cada variable de clase, variable de instancia o componente de matriz se inicializa con un valor predeterminado cuando se crea

[…] Para todos los tipos de referencia, el valor predeterminado es null .

Tenga en cuenta que la regla anterior excluye las variables locales: deben inicializarse explícitamente; de ​​lo contrario, el progtwig no se comstackrá.

Si se ha declarado una referencia a Object pero no se ha creado una instancia, su valor es null .