如果值需要存储在变量中,为什么不根据数据类型调用方法

Jan*_*Jan 1 java overriding

以下java代码将不会执行.

class A{

int sqrt(int a)
{
}

float sqrt(int a)
{

}


int a1 = sqrt(a);
float b1= sqrt(b);



}
Run Code Online (Sandbox Code Playgroud)

在采访中,我被一个问题问到,为什么java编译器不检查数据类型并相应地调用该方法.是什么原因?

Rya*_*ell 5

这些方法具有相同的签名(标识符+参数列表),这是非法的.