una programacion orientada obtener objetos objeto miembros metodos inicializar ejemplos constructores clases clase atributos java nullpointerexception class-attributes

java - programacion - Por qué los atributos de nivel de clase funcionan con Null



miembros de una clase en programacion orientada a objetos (1)

Creo que lo siguiente arrojaría NullPointerException

class N { static int i; public static void main( String ... args ) { System.out.println( ((N)null).i ); } }

Pero no es así ¿Por qué?


Porque i miembro estático (nivel de clase). Existe para la clase, para cada objeto de ella. Por lo tanto, realmente no requiere referencia al objeto, por lo que esta parte ((N)null) se ignora en realidad, a excepción de la inferencia de tipo. Podría y debería ser reemplazado por Ni .