Okay, I've written some code to see what happens when you inherit from a class that has a static method and I just want to ensure that I'm interpreting the results correctly.
These are the classes that I used:
Here are a few things that I've found. It does appear that static methods are inheirted. I found this by removing the declaration of staticMethod() within Child. When that was removed, the code within main still ran fine and I received the output "Parent's static method." Also, I found that if I try to make the declaration of staticMethod() within Child more restrictive than the staticMethod() in Parent, I get a compiler error stating: "Cannot reduce the visibility of the inherited method from Parent." So, looking at these things, it would appear as if static methods are inherited just like any instance methods.
However, I have found that static methods do not use dynamic method lookup in order to determine which one should be executed. In the example I gave above, the output from main is: "child's static method." However, if I change the type of c in main from Child to Parent, the output I get is: "Parent's static method." Therefore, I can conclude that the method that is called is based upon the compile-time type of the variable on which it is being called.
This area is just a little bit foggy for me and I just wanted someone to take a look at my conclusions to ensure that they are correct. From what I've tested, they appear to be, I just want a second opinion.
Thanks,
Corey
P.S.
How can I get spaces between lines within a code block?

Any time I try to add blank lines in a code block, it seems to be ignored and all of my lines are jammed together.