Java重载函数的调用规则如下:
当调用一个函数时,编译器会根据提供的参数类型和数量来确定重载函数的候选列表。
如果有一个函数的参数类型与提供的参数类型完全匹配,则该函数被选为最佳匹配。
如果有多个函数的参数类型与提供的参数类型完全匹配,则编译器会选择具有最具体参数类型的函数。
如果没有完全匹配的函数,但有一个函数的参数类型可以通过自动类型转换实现匹配,则该函数被选为最佳匹配。
如果存在多个函数都可以通过自动类型转换实现匹配,则编译器会选择具有最具体参数类型的函数。
如果没有匹配的函数或者存在多个最佳匹配函数,则编译器会报错,提示函数调用模糊。
需要注意的是,Java在选择重载函数时不会考虑返回类型,只会根据参数类型和数量进行匹配。