Javaでオーバーロードを行なった場合の「あいまい」と言われる、言われない条件というのを詳しく知りたいのですが 何か良い資料はないでしょうか? 例えば class Hoge{} class Hoge2 extends Hoge{} class Hoge3 extends Hoge2{} と定義して test(new Hoge3(), new Hoge3()); と呼び出したとき、
void test(Hoge2 a, Hoge3 b){} void test(Hoge a, Hoge3 b){} 問題なし
void test(Hoge2 a, Hoge3 b){} void test(Hoge2 a, Hoge2 b){} 問題無し
void test(Hoge a, Hoge3 b){} void test(Hoge2 a, Hoge2 b){} あいまいエラー