A)
->within the same object (class) defining more than one method with the same name but with different signature is known as method overloading.
Ex:
class A {
void x()
{
}
void x(int a)
{
}
}
->In the above example, x method of object of class A is overloaded.
class A {
void x()
{
}
}
class B extends A
{
void x(int a)
{
}
}
-> In the above example x method of class B object is overloaded.
-> In java, method signature is nothing but method name plus parameter list. In case of method overloading, method name should be same but signature must be different. It means parameters should be different for the method overloading to be legal.
->java compiler threads parameters of two methods are different. If any one of the fallowing 3 criteria doesn’t the match.
1) Number of parameters
2) Type of parameters
3) Order of type of parameters
->In the above program developer trying for method overloading.
->Here the 2 methods contain same name and the parameter list is match that's why it raise "error".
->the java compiler checks if any one of the criteria is mismatch, it is treating of method overloading, if all criterias are matched then it doesn’t treat as method overloading so error will come.
Comments
Post a Comment