La recherche dans cet article implique principalement des exemples pertinents de «type» nul en Java, comme détaillé ci-dessous.
Tout d'abord, donnez une simple question liée à Null, qui déclenchera notre discussion sur Null. Plus tard, nous interpréterons le "type" null selon le manuel de langue officiel.
Question: Le programme suivant peut-il s'exécuter correctement?
Analyse:
La sortie doit être: haha
Parce que Null peut être forcé à n'importe quel type de classe, le précédent ((nul) nul) est légal, mais après que Null soit obligé de tourner, c'est un objet invalide et sa valeur de retour est nul (je l'expliquerai plus tard)
La méthode haha est une méthode statique. La méthode statique utilise la liaison statique et ne lancera pas une exception de pointeur nul.
Si la fonction haha () est transformée non statique, une exception de pointeur nulle sera lancée.
Prenons un autre exemple:
Cette question est en fait similaire à ce qui précède.
Le résultat est toujours en sortie "haha"
Nous pouvons voir dans la spécification de la langue java
Dans la section 4.1. Les types de types et de valeurs mentionnés:
Il existe deux types de types dans le langage de programmation Java: les types primitifs (§4.2) et les types de référence (§4.3). "
Taper:
PrimitiveType
Référentiel
Il existe également un type nul spécial, le type de l'expression nul (§3.10.7, §15.8.1), qui n'a pas de nom.
Parce que le type nul n'a pas de nom, il est impossible de déclarer une variable du type nul ou de couler au type nul.
La référence nul est la seule valeur possible d'une expression de type nul.
La référence NULL peut toujours subir une conversion de référence élargie en n'importe quel type de référence.
En pratique, le programmeur peut ignorer le type nul et prétendre que Null n'est qu'un littéral spécial qui peut être de n'importe quel type de référence.
Je vais le traduire pour:
Il existe deux types dans la langue Java, l'un est le type de base et l'autre est le type de référence .
Il existe également un type nul spécial, c'est-à-dire le type d'expression nul, qui n'a pas de nom.
Parce que le type nul n'a pas de nom, il est impossible de déclarer une variable de type nul ou de le convertir en un type nul.
La référence nul est la seule valeur possible d'une expression de type nul.
Les références nulles peuvent être converties en n'importe quel type de référence.
En fait, les programmeurs peuvent ignorer le type nul et peuvent penser que Null n'est qu'un symbole spécial qui peut devenir n'importe quel type de référence.
Après avoir lu ce passage, je me suis soudainement réalisé.
Dans le 5.2. Section de conversion d'affectation:
"Une valeur du type nul (la référence nul est la seule valeur de ce type) peut être attribuée à n'importe quel type de référence, ce qui entraîne une référence nul de ce type"
Une valeur d'un type null (référence null (null) est la seule valeur de ce type) peut être attribuée à n'importe quel type et renverra une référence vide à un objet de ce type (en fait null).
En 5.3. Section de conversion d'invocation de la méthode, il y a:
"Une valeur du type nul (la référence nul est la seule valeur de ce type) peut être convertie en n'importe quel type de référence."
c'est-à-dire que " NULL peut être converti en n'importe quel type de référence ."
Grâce au manuel officiel de la langue, j'ai une compréhension très profonde du type nul.
Il est d'une aide à notre programmation et à nos futurs entretiens d'embauche.
Enfin, j'espère que tout le monde rencontrera des problèmes étranges. En plus de Baidu, essayez de rechercher autant que possible sur le site Web Stack Overflow et consultez le manuel officiel.
Résumer
Ce qui précède est tout sur la compréhension approfondie de cet article des "types" nuls en Java, et j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!