Hello,
I think so this statement might clarify this doubt, i am copying it from
this
Actually static methods are not overridden in the true sense. They are 'hidden' by subclass method of same signature and return type. So, they do not participate in dynamic binding. Thus irrespective of which refernce a superclass is holding, it JVM invokes superclass method, if method in question is static.
So i guess these are the rules in case of redefining static methods.
1- The redefined method in subclass must have same signature.
2- It must have same return type.
3- It must now throw any checked exceptions if the super-class method is not throwing in order to properly hide the parent class method.
When we say this
In such a situation, i guess this rule will impy
4- Thus irrespective of which refernce a superclass is holding, it JVM invokes superclass method, if method in question is static.
Why i am saying this because when i have compiled the code in Eclipse, it's giving me the following error
Exception is not compatible with throws clause in A.callme()

Now i am waiting for other fellows to reply. Interesting
thread and question Anu.
Best Regards,