在Java中,我可以使用float和int重载

时间:2016-12-01 08:55:45

标签: java overloading

如果我想要一个方法

void mymethod(float val) {}

和另一个

void mymethod (int val) {}

然后当我拨打mymethod (1.2)时,它会正确检测到第一个是正确的呼叫吗?

1 个答案:

答案 0 :(得分:0)

mymethod(1.2)将查找mymethod(double d)方法,因为内联1.2内联数值默认存储在double中。

你应该写:mymethod(1.2F)

在这种情况下,重载将起作用,并且将调用mymethod(float val)

重载允许命名具有相同名称但具有不同参数的多个方法。在编译时,编译器选择与有效参数匹配的方法。

在您的情况下,mymethod()方法已超载,因为:

 void mymethod(float val) {}
 void mymethod(int val) {}