在 Java 中,我可以用 float 和 int 重载吗
In Java can I overload with float and int
如果我想要一个方法
void mymethod(float val) {}
还有一个
void mymethod (int val) {}
那么当我调用 mymethod (1.2)
时它会正确检测到第一个是正确的调用吗?
mymethod(1.2)
将查找 mymethod(double d)
方法,因为内联数值的文字 1.2
默认存储在 double
中。
你应该写:mymethod(1.2F)
在这种情况下,重载将起作用并调用 mymethod(float val)
。
重载允许使用相同的名称但使用不同的参数来命名多个方法。在编译时,编译器选择匹配有效参数的方法。
在您的情况下,mymethod()
方法重载,因为 :
void mymethod(float val) {}
void mymethod(int val) {}
如果我想要一个方法
void mymethod(float val) {}
还有一个
void mymethod (int val) {}
那么当我调用 mymethod (1.2)
时它会正确检测到第一个是正确的调用吗?
mymethod(1.2)
将查找 mymethod(double d)
方法,因为内联数值的文字 1.2
默认存储在 double
中。
你应该写:mymethod(1.2F)
在这种情况下,重载将起作用并调用 mymethod(float val)
。
重载允许使用相同的名称但使用不同的参数来命名多个方法。在编译时,编译器选择匹配有效参数的方法。
在您的情况下,mymethod()
方法重载,因为 :
void mymethod(float val) {}
void mymethod(int val) {}