public void test(String... args, int count) や public void test(int... a, String... b) といった宣言はどちらのルールにも違反するため、コンパイルエラーとなります。
また、可変長引数と配列型引数は内部表現が同等であるため、public void test(int... numbers) と public void test(int[] numbers) を同一クラス内に定義してオーバーロードすることはできません。
void method(int... nums, String str) のように可変長引数が先頭や中間に置かれていると即座にコンパイルエラーになります。
2. 複数指定違反:void method(int... a, double... b) のように複数記述されていると即座にコンパイルエラーになります。
3. オーバーロードの優先順位:固定引数のメソッド(例: print(int a, int b))と可変長引数のメソッド(例: print(int... nums))の両方が適用可能な場合、常に「固定引数のメソッド」が優先して選択されます。
ファクトチェック:1Z0-825-JPN(2026-08-01確認)。試験番号1Z0-825-JPN、試験時間90分、60問、合格ライン65%です。
この記事は公式出題範囲・チェックリストとの対応を編集部で確認した学習解説です。