ragi singh wrote:then i think it should all the more work , ie in the following example:-
public interface Brand{
public abstract Brand getBrand();
}
public class Car implements Brand{
public Brand getBrand(){}
}
My question is why cannot the interface Brand declare the method getBrand() static , because if does we can provide a static method implementation in Car so that the method can be invoked from the class Car as Car.getBrand()
You are coming on that way.
Then you'll break polymorphic invocation of methods! What will happen, when you've invoked the static method with a sub class object with the super class/interface reference? Even though no relation with objects and static methods!