ホームページ >Java >&#&チュートリアル >Java 関数のオーバーロード メカニズムにおけるさまざまなパラメーター タイプの処理は何ですか?
Java 関数のオーバーロードでさまざまなパラメーターの型を処理するための規則: 完全一致: このメソッドは、パラメーター リストが実際のパラメーターの型と正確に一致するオーバーロードされたメソッドがある場合に使用されます。拡張変換: 完全に一致するものがない場合は、実際のパラメータの型をより広い型に変換しようとします。ボックス化/ボックス化解除: プリミティブ型とラップされたクラス間の自動ボックス化またはボックス化解除。変数パラメーター: 変数パラメーター (...) は、同じタイプの任意の数のパラメーターと一致できます。
Java 関数オーバーロードにおけるさまざまなパラメーター タイプの処理メカニズム
関数オーバーロードは、次のような関数を作成できる Java のメソッドです。同じ機能 名前は異なるがパラメータリストが異なる複数のメソッドを持つことができます。オーバーロードされたメソッドが呼び出されるとき、Java コンパイラは、呼び出しで指定された実際のパラメータの型に基づいて、呼び出す特定のメソッドを決定します。
Java での関数のオーバーロードのオーバーロード ルールは次のとおりです。
#さまざまなパラメータ型の処理
さまざまなパラメータ型のオーバーロードされたメソッドを処理する場合、Java コンパイラは次のルールに従って照合します。 を # に変換するなど) ##長さ###)。
オートボックス化/ボックス化解除:
add
メソッドが複数回オーバーロードされる次のクラス例を考えてみましょう:class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public long add(long a, long b) { return a + b; } }
呼び出しの例:
Calculator calculator = new Calculator(); int result1 = calculator.add(10, 20); // 调用 int 参数的 add() 方法 double result2 = calculator.add(10.5, 15.3); // 调用 double 参数的 add() 方法 long result3 = calculator.add(1000L, 2000L); // 调用 long 参数的 add() 方法これらの呼び出しでは、コンパイラは指定された引数の型に基づいて正しいオーバーロードされたメソッドを選択します: result1
であるため、
int パラメータを指定して
add メソッドを呼び出します。
result2 であるため、
double パラメータの
add メソッドを呼び出します。
result3 であるため、
long パラメータの
add メソッドを呼び出します。
以上がJava 関数のオーバーロード メカニズムにおけるさまざまなパラメーター タイプの処理は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。