自分でちょっと考えてみました。
くさばさんの作ったプログラムソースを使って今回は自分なりの考えを載せてみようと思います。
public class Test { public static void main(String[] args) throws Exception { System.out.println(add(10.0,20.0)); System.out.println(add("10.0","20")); System.out.println(add(10,20)); System.out.println(add(10,20.0)); System.out.println(add(10.0,20)); System.out.println(add("10","20")); } public static int add(int args1, int args2) { System.out.println("int型"); int result = args1 + args2; return result; 私の考えは、public static int add(int args1, int args2)の int args1にSystem.out.println(add(10,20));これを代入して、int args2にはSystem.out.println(add(10.0,20.0));これを代入して、これでたぶん int型になるからint result = args1 + args2; return result; ここを実行して int型 20 、40 と表示されるのではないかと思います。たぶん違うと思うのですが、これが考えてみてひらめいての答えです。