Sushil Jamsandekar wrote:...But it gives compile time error as "This instance method cannot override the static method from ClassA". Why cant it acts like a new method?
The simple answer is: because it can't.
static methods can't be overridden; only masked.
And if both methods were instance methods you would
still have a problem because methods with the same signature must return the same type (or a covariant one).
Winston
Edit: too slow

.