ホームページ  >  記事  >  Java  >  Java で Null 参照で静的メソッドを呼び出すと NullPointerException がスローされないのはなぜですか?

Java で Null 参照で静的メソッドを呼び出すと NullPointerException がスローされないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-03 02:56:29414ブラウズ

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

Null 参照での静的メソッドの呼び出し

Java で null 参照で静的メソッドを呼び出すと、 NullPointerException?

説明

Java では、静的メソッドはインスタンスではなくクラスに関連付けられます。静的メソッドには、クラスのインスタンスを必要とせずにアクセスできます。

この例では、test() メソッドは静的であり、クラス名 Why.test() を使用してアクセスされます。クラスのインスタンスを呼び出す必要はありません。したがって、参照変数 NULL が null であっても、NullPointerException を発生させずに test() メソッドを実行できます。

ベスト プラクティス

アクセスは可能ですが、オブジェクト参照を介して静的メソッドを使用する場合、コードの意図された動作について混乱や誤った仮定が生じる可能性があるため、悪い習慣とみなされます。以下に示すように、常にクラス名を使用して静的メソッドを呼び出すことをお勧めします:

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

以上がJava で Null 参照で静的メソッドを呼び出すと NullPointerException がスローされないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。