Static methods is a method whose single copy shared by all the objects of the class . Static method belongs to the class rather than objects .since static methods are not depend on the objects , Java Compiler need not wait till the objects creation .so to call static method we uses syntax like ClassName.method() ;
In case of method overloading , methods should be in the same class to overload .even if they are declared as static it is possible to overload them as ,
Class Sample
{
static int calculate(int a,int b,int c)
{
int res = a+b+c;
return res;
}
static int calculate(int a,int b)
{
int res = a*b;
return res;
}
}
class Test
{
public static void main(String []args)
{
int res = Sample.calculate(10,20,30);
}
}
But in case of method overriding , the method in the super class and the method in the sub class act as different method . the super class will have its own copy and the sub class will have its own copy so it does not come under method overriding .