Explanation:
Following are the difference between overriding and overloading
(1) Method overloading means method having same name but different parameter or method signature Whereas Method overriding means method having same name and same parameter or signature.
(2) Method overloading is achieved the compile time Polymorphism whereas Method overriding is achieved the Run time Polymorphism .
(3 ) In method overriding child class have facility to provide a specific implementation of a method which is already defined by parent class method whereas there is no such facility is available in method overloading
(4 )Programming structure of method overloading
class test
{
void fun()
{
// statement
}
void fun(int b)
{
// statement
}
}
In this fun() method name is same but different signature I.e void fun() and void fun(int a);
Programming structure of method overriding
class parent
{
void fun()
{
// statement in parent class
}
}
class child extends test
{
void fun()
{
// override the statement in child class
}
}
In this fun() method have same name and same signature in both class