Oh.............................., that overriden is just got into my head so much,that i forgot the basic concepts of Inheritance.
Thanks dude.
I think i am really stupid now.
If I recall K&B correctly they say that an override is something that occurs at runtime, when the JVM determines what object the method will be invoked on (the signature of the version to be invoked having been determined at compile-time). As static methods belong to the class, not to any object, and are invoked only on the class no matter what your code says, there is no such runtime decision to be made. In other words, no override occurs.
In other words the compiler sees your code as saying