I think this would be a stupid question a little bit, but I can not sure why it is.
code;
public class OverloadingTest {
public static int sum(int ...a){
int sum=0;
for(int i : a){
sum += i;
}
System.out.print("this is variant args//");
return sum;
}
public static double sum(double a, double b) {
return a + b;
}
public static void main(String[] args) {
System.out.println(sum(1.5, 2.5));
System.out.println(sum(10, 20));
System.out.println(sum(10, 20,30));
}
}
results I expected;
4.0
this is variant args//30
this is variant args//60
actual results in console:
4.0 30.0 this is variant args//60
I can not sure why results of sum(10, 20)
30.0, not 30 of variable argument.