静的メソッドの呼び出しと Null 参照について
一般的な誤解に反して、null 参照で (静的) メソッドを呼び出しても、 NullPointerException。この動作を理解するには、Java の静的メソッドの概念を理解することが不可欠です。
静的メソッド: 共有リソース
非静的 (インスタンス) メソッドとは異なり、静的メソッドは特定のオブジェクト インスタンスに関連付けられ、静的メソッドはそれらが属するクラスにバインドされます。これらは型レベルで動作するため、オブジェクトにアクセスする必要はありません。
静的メソッドへのアクセス: 型式経由
静的メソッドを呼び出す適切な方法これは、Why.test() などの型式を使用することによって行われます。このアプローチにより、静的メソッドがオブジェクト インスタンスを介さずにクラスで直接呼び出されることになります。
落とし穴: オブジェクト参照式の使用
Java では静的メンバーへのアクセスが許可されていますが、オブジェクト参照式を使用する場合は、混乱を招く可能性があるため、これを行わないことを強くお勧めします。このアプローチ (Why aNull = null; aNull.test()) を使用する場合、宣言された参照の型 (Why) によって、呼び出される静的メソッドが決まります。
オブジェクト参照式の使用の影響
結論
混乱を避け、予測可能性を確保するには、常に型式を使用して静的メソッドを呼び出します。静的メンバーの性質とそのアクセス メカニズムを理解することは、正しく保守可能な Java コードを作成するために非常に重要です。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3