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
它还可以采用返回类型int而不是float来返回值5?
答案 0 :(得分:-1)
如果您想进行重载,则必须更改其中一个点的方法签名:
返回类型不被视为方法签名之一,因此如果您有两个具有相同名称和不同返回类型的方法,则会出现编译错误,不允许这样做。
最后,在您的代码中,您有两个具有不同名称的方法,因此没有编译错误,您调用返回float的方法
在vl和va中看到不同的
testVlaue
测试值
你打电话给System.out.println(objTest.testValue(2,3));
第二个