Method overriding in java with same number of parameter but different return type -
class testoverride{ public int testvlaue(int a,int b){ return + 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)); } }
why output follows?
2.0 5.0
it can take return type int instead of float return value 5?
if want overloading, must change in method signature 1 of these points:
- parameter types.
- number of parameters.
- order of parameters declared in method.
return type not considered 1 of method signature if have 2 methods same name , different return type compilation error, it not allowed that.
last,in code have 2 methods different name there no compilation error , call method return float
see different in vl , va
testvlaue
testvalue
you call system.out.println(objtest.testvalue(2,3));
second one
Comments
Post a Comment