【发布时间】:2016-11-10 10:37:52
【问题描述】:
class TestOverride{
public int testVlaue(int a,int b){
return a + b;
}
public float testValue(int x,int y){
return x + y;
}
public float testValue(float x){
return x;
}
}
public class CodeTester{
public static void main(String a[]){
TestOverride objTest = new TestOverride();
System.out.println(objTest.testValue(2));
System.out.println(objTest.testValue(2,3));
}
}
为什么输出如下?
2.0
5.0
返回值5也可以采用int而不是float的返回类型?
【问题讨论】:
-
你想怎么做? Java 如何知道你想执行哪个函数?它执行第一个匹配。基本上,这种编程在很多层面上都是错误的。
-
不要将你的问题埋在代码中的 cmets 中。不清楚你在问什么。
-
@RDC 如果您要编辑,请编辑。修复一切。不只是一个字符。
标签: java methods return overriding