自分でちょっと考えてみました。

くさばさんの作ったプログラムソースを使って今回は自分なりの考えを載せてみようと思います。

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 と表示されるのではないかと思います。たぶん違うと思うのですが、これが考えてみてひらめいての答えです。