Originally posted by Jim Yingst:
[QB]Static methods don't inherit, they are hidden by different implementations using the same name.
Ok, now I am confused. I remembered a post on the
Java Radio forum by Corey McGlone who referred to 8.4.6.2 which states:
If a class declares a static method, then the declaration of that method is said to hide any and all methods with the same signature in the superclasses and superinterfaces of the class that would otherwise be accessible to code in the class. A compile-time error occurs if a static method hides an instance method.
In this respect, hiding of methods differs from hiding of fields (�8.3), for it is permissible for a static variable to hide an instance variable. Hiding is also distinct from shadowing (�6.3.1) and obscuring (�6.3.2).
A hidden method can be accessed by using a qualified name or by using a method invocation expression (�15.12) that contains the keyword super or a cast to a superclass type. In this respect, hiding of methods is similar to hiding of fields.
Is this just splitting hairs on the definition of how the child class accesses the parent static method?