actually, i donot like the "hiding" explanation from FAQ.
In my preceding codes, defining static method in subclass follow all the rules for legal overrides at compiler level e.g. it can not contain more strict visibility or it can not throw an Exception arbitrarily. Thus, it is NOT a redefined method. (in K&B page 147 says it IS redefined)
It JUST does not work for run-time
polymorphism.
So, the bottom line is how to understand "can not be overridden".
For final method, "can not be overridden" means a compile error
Here, for static method it means "does not work for run time polymorphism"
Am i right?
Thanks for all the help.
[ May 31, 2006: Message edited by: Xinhua Gu ]