La investigación en este artículo implica principalmente ejemplos relevantes de "tipo" nulo en Java, como se detalla a continuación.
Primero, da una pregunta simple relacionada con NULL, que desencadenará nuestra discusión sobre NULL. Más tarde, interpretaremos el "tipo" nulo de acuerdo con el manual del idioma oficial.
Pregunta: ¿Puede el siguiente programa ejecutarse correctamente?
Análisis:
La salida debe ser: jaja
Debido a que NULL puede ser forzado a cualquier tipo de clase, el anterior ((nulo) nulo) es legal, pero después de que NULL se ve obligado a rotar, es un objeto no válido, y su valor de retorno es nulo (lo explicaré más tarde)
El método HAHA es un método estático. El método estático utiliza la unión estática y no lanzará una excepción de puntero nulo.
Si la función HAHA () se gira no estática, se lanzará una excepción de puntero nulo.
Tomemos otro ejemplo:
Esta pregunta es realmente similar a la anterior.
El resultado sigue produciendo "jaja"
Podemos ver en la especificación del idioma Java
En la sección 4.1. Los tipos de tipos y valores mencionados:
Hay dos tipos de tipos en el lenguaje de programación de Java: tipos primitivos (§4.2) y tipos de referencia (§4.3). "
Tipo:
PrimitiveType
ReferenceType
También hay un tipo nulo especial, el tipo de expresión nula (§3.10.7, §15.8.1), que no tiene nombre.
Debido a que el tipo nulo no tiene nombre, es imposible declarar una variable del tipo nulo o lanzar al tipo nulo.
La referencia nula es el único valor posible de una expresión de tipo nulo.
La referencia nula siempre puede someterse a una conversión de referencia amplia a cualquier tipo de referencia.
En la práctica, el programador puede ignorar el tipo nulo y simplemente fingir que NULL es simplemente un literal especial que puede ser de cualquier tipo de referencia.
Lo traduciré para:
Hay dos tipos en el idioma Java, uno es el tipo básico y el otro es el tipo de referencia .
También hay un tipo nulo especial, es decir, el tipo de expresión nula, que no tiene nombre.
Debido a que el tipo nulo no tiene nombre, es imposible declarar una variable de tipo nulo o convertirlo a un tipo nulo.
La referencia nula es el único valor posible de una expresión de tipo nulo.
Las referencias nulas se pueden convertir a cualquier tipo de referencia.
De hecho, los programadores pueden ignorar el tipo nulo y pueden pensar que NULL es solo un símbolo especial que puede convertirse en cualquier tipo de referencia.
Después de leer este pasaje, de repente me di cuenta.
En el 5.2. Sección de conversión de tarea:
"Un valor del tipo nulo (la referencia nula es el único valor de este tipo) puede asignarse a cualquier tipo de referencia, lo que resulta en una referencia nula de ese tipo"
Un valor de una referencia de tipo nulo (nulo (nulo) es el único valor de este tipo) se puede asignar a cualquier tipo y devolverá una referencia vacía a un objeto de ese tipo (en realidad nulo).
En 5.3. Sección de conversión de invocación de métodos, hay:
"Un valor del tipo nulo (la referencia nula es el único valor de este tipo) puede convertirse en cualquier tipo de referencia".
es decir, " NULL se puede convertir en cualquier tipo de referencia ".
A través del manual del idioma oficial, tengo una comprensión muy profunda del tipo nulo.
Es de ayuda para nuestra programación y futuras entrevistas de trabajo.
Finalmente, espero que todos encuentren algunos problemas extraños. Además de Baidu, intente buscar en el sitio web de Stack Overflow tanto como sea posible y consulte el manual oficial.
Resumir
Lo anterior se trata de la comprensión profunda de este artículo de los "tipos" nulos en Java, y espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!