メソッドのオーバーロード
上記で使用されている max メソッドは、int 型のデータにのみ適用されます。しかし、2 つの浮動小数点型データの最大値を取得したい場合はどうすればよいでしょうか?
解決策は、次のコードに示すように、同じ名前でパラメータが異なる別のメソッドを作成することです:
public static double max(double num1, double num2) { if (num1 > num2) return num1; else return num2; }
max メソッドを呼び出すときに int パラメータを渡すと、int パラメータを持つ max メソッドは Call になります。 ;
double パラメーターが渡された場合、double 型の max メソッド本体が呼び出されます。これはメソッドのオーバーロードと呼ばれます。
つまり、クラスの 2 つのメソッドは同じ名前を持ちますが、異なるパラメーター リストを持ちます。
Java コンパイラは、メソッド シグネチャに基づいてどのメソッドを呼び出す必要があるかを決定します。
メソッドのオーバーロードにより、プログラムがより明確になり、読みやすくなります。密接に関連したタスクを実行するメソッドは同じ名前を使用する必要があります。
オーバーロードされたメソッドには異なるパラメータリストが必要です。修飾子または戻り値の型のみに基づいてメソッドをオーバーロードすることはできません。
変数スコープ
変数のスコープとは、変数を参照できるプログラムの部分です。
メソッド内で定義された変数はローカル変数と呼ばれます。
ローカル変数のスコープは宣言から始まり、それを含むブロックの終わりで終わります。
ローカル変数は使用する前に宣言する必要があります。
メソッドのパラメータ範囲はメソッド全体をカバーします。パラメータは実際にはローカル変数です。
for ループの初期化部分で宣言された変数は、ループ全体でスコープを持ちます。
ただし、ループ本体内で宣言された変数の適用範囲は、その宣言からループ本体の最後までとなります。以下に示すような変数宣言が含まれています:
メソッド内、ネストされていない異なるブロック内で同じ名前のローカル変数を複数回宣言できますが、ネストされたブロックのローカル変数内で 2 回宣言することはできません。
Java のメソッドのオーバーロードと変数スコープの紹介に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。