如果我想要一个方法
void mymethod(float val) {}
和另一个
void mymethod (int val) {}
然后当我拨打mymethod (1.2)
时,它会正确检测到第一个是正确的呼叫吗?
答案 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) {}