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));
}
}
Почему выход следующим образом?Метод переопределения в java с таким же числом параметров, но с другим типом возврата
2.0
5.0
Он может также взять тип возвращаемого значения int вместо float для возвращаемого значения 5?
А как вы хотели действовать? Как Java должна знать, какую функцию вы хотите выполнить? Он выполняет первое совпадение. В принципе, такой тип программирования неверен на многих уровнях. –
Не зарывайте свой quesiton в комментариях в коде. Неясно, что вы спрашиваете. – EJP
@RDC, если вы собираетесь редактировать, редактировать. Исправьте все. Не один персонаж. – EJP