Java方法的重载 关于不同的参数类型的调用

这样理解对吗?或者正确的理解是什么
1,第一个调用int类型而不调用float类型是因为Java默认的数据类型是int
2,第二个使用float类型是因为表达式中包括不同的数据类型数值,而运算时以长度最长的类型为主,所以使用float类型
图片说明

其实就看传入的参数的类型,sum(10,20)参数都是int型当然调用int sum,sum(10.5f,20)参数为float型,调用sum(int a, int b)出错,那么找sum(float a , float b)可行。因为20可以转为20.0f,但反过来20.0f转为20,则需要强制转换。

楼上正解! 多练习练习就OK了

你可以百度下 java重载匹配优先级 有个博客写的很详细