【问题标题】:In Java can I overload with float and int在 Java 中,我可以用 float 和 int 重载吗
【发布时间】:2016-12-01 08:55:45
【问题描述】:

如果我想要一个方法

void mymethod(float val) {}

还有一个

void mymethod (int val) {}

那么当我调用mymethod (1.2) 时,它会正确检测到第一个是正确的调用吗?

【问题讨论】:

标签: java overloading


【解决方案1】:

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

你应该写:mymethod(1.2F)

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

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

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

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

【讨论】:

  • 好的我试试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
相关资源
最近更新 更多