jdk descargar actualizar java

descargar - Java-¿`null` es una instancia de` object`?



java jdk (7)

También hay un tipo nulo especial, el tipo de la expresión null, que no tiene nombre. Como el tipo nulo no tiene nombre, es imposible declarar una variable del tipo nulo o convertir al tipo nulo. La referencia nula es el único valor posible de una expresión de tipo nulo. La referencia nula siempre se puede convertir a cualquier tipo de referencia. En la práctica, el programador puede ignorar el tipo nulo y simplemente pretender que nulo es simplemente un literal especial que puede ser de cualquier tipo de referencia

Especificación del lenguaje Java

Leí que null no es una instanceof nada, pero por otro lado, todo en Java extiende la clase Object .


Como dice JLS , null es del tipo nulo y no es un tipo de referencia. Sin embargo, se puede usar en situaciones donde se espera un valor de un tipo de referencia (el valor es realmente un "fondo" en el tipo de álgebra).



Esperando que este ejemplo aclare su duda:

public void printObject(Object object) { System.out.println("object referred"); } public void printObject(double[] doubleArray) { System.out.println("Array of type double"); } public static void main(String[] args) { JavaNullObjectTest javaNullObjectTest = new JavaNullObjectTest(); javaNullObjectTest.printObject(null); //Array of type double javaNullObjectTest.printObject((Object)null); //object referred }

Podemos, pero, convertir un ''nulo'' a objeto.


No, null no es un objeto. Es un literal que significa que una variable no hace referencia a ningún objeto.


No, es una reference . null no es un objeto

String s = null; System.out.println(s instanceof Object); // false


Nulo significa que no tienes una referencia a un objeto.

Object o = null;

o es una referencia, pero no se hace referencia a ningún objeto ni se le asigna memoria.

o = new Object();

o sigue siendo una referencia y contiene la dirección donde se encuentra el objeto en la memoria