Maison >Java >javaDidacticiel >Pourquoi l'appel d'une méthode statique sur une référence nulle ne génère-t-il pas d'exception NullPointerException en Java ?

Pourquoi l'appel d'une méthode statique sur une référence nulle ne génère-t-il pas d'exception NullPointerException en Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-03 02:56:29474parcourir

Why Doesn't Invoking a Static Method on a Null Reference Throw a NullPointerException in Java?

Invocation de méthode statique sur une référence nulle

Pourquoi l'appel d'une méthode statique sur une référence nulle en Java ne génère-t-il pas une exception NullPointerException ?

Explication

En Java, une méthode statique est associée à une classe plutôt qu'à une instance. Les méthodes statiques sont accessibles sans avoir besoin d'une instance de la classe.

Dans l'exemple fourni, la méthode test() est statique et est accessible en utilisant le nom de la classe, Why.test(). Il n’est pas nécessaire d’invoquer une instance de la classe. Par conséquent, même si la variable de référence NULL est nulle, la méthode test() peut toujours être exécutée sans NullPointerException.

Bonne pratique

Bien qu'il soit possible d'accéder méthodes statiques via des références d’objet, cela est considéré comme une mauvaise pratique car cela peut conduire à de la confusion et à des hypothèses incorrectes sur le comportement prévu du code. Il est recommandé de toujours appeler des méthodes statiques en utilisant le nom de la classe, comme indiqué ci-dessous :

<code class="java">Why.test();</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn