Hello Lakshmi,
"What does signature mean"
The JLS tells you...
8.4.2 Method Signature
The signature of a method consists of the name of the method and the number and types of formal parameters to the method.
So why is [a] correct? Because an instance method cannot override a static method. And why not? Because the term "override" really does not work here. A static method is a method without an instance context. If you would try to override such a method (without being static), you try to bring in an instance context, which the "overridden" method does not know. So it makes really no sense, because one cannot call it "overriding".
Hope it helps
Detlev