Thanks for your reply and that article!
Now I know the differece in ways to use of hiding and overriding, which prove what my teacher said, "static along with class, instance along with instance." However, I think that's just the rules of overriding, inheritance, and OO.
I mean, the following statement (from that example):
Base base = new Sub();
implies base is referenced to an instance of Sub. When we call an overridden method in the runtime, it will really execute the statements of that method in Sub. Isn't that just the rule of
Java in OO? Namely, calling a static method with the class name (or reference name) is just the way of OO. I don't see any necessity of emphasizing hiding or overriding. I wonder if we can only show the difference between hiding and overriding in this tricky way.
This is just my presumption, you guys can put it aside~