ホームページ > Java > &#&チュートリアル > Null 引数が渡された場合、Java はオーバーロードされたメソッドをどのように解決しますか?

Null 引数が渡された場合、Java はオーバーロードされたメソッドをどのように解決しますか?

DDD
リリース: 2024-12-03 07:36:09
オリジナル
374 人が閲覧しました

How Does Java Resolve Overloaded Methods When a Null Argument is Passed?

Java での Null 引数のオーバーロード解決

Java でオーバーロードされたメソッドに引数として null を渡す場合、どのメソッドを理解することが重要です

次の点を考慮してください。例:

JOptionPane.showInputDialog(null, "Write something");
ログイン後にコピー

JOptionPane.showInputDialog の 2 つのオーバーロードされたメソッドが存在します:

  • showInputDialog(Componentparent, Object message)
  • showInputDialog(Object message, Object InitialSelectionValue)

親パラメータとして null を渡すときに呼び出されるオーバーロードはどれですか?

答え:

Java がオーバーロードを解決します「最も具体的な方法」の原則に基づいています。この場合、最も具体的なメソッドは次のとおりです。

showInputDialog(Component parent, Object message)
ログイン後にコピー

このルールは、オーバーロード解決プロセス、特に「メソッド シグネチャの決定」として知られるステップから派生します。コンパイラは、入力型 (この場合は null と String) を処理できる最も具体的なメソッドを検索します。

「より具体的な」メソッドは、あるオーバーロードの呼び出しを別のオーバーロードに渡すことができるかどうかに基づいて決定されます。コンパイル時の型エラーが発生します。この例では、最初のオーバーロードの呼び出しをエラーなしで 2 番目のオーバーロードに渡すことができますが、その逆はできません。

したがって、null を JOptionPane.showInputDialog に渡すとき、コンポーネントの親パラメーター (最も具体的なメソッド) が呼び出し用に選択されます。

以上がNull 引数が渡された場合、Java はオーバーロードされたメソッドをどのように解決しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート