Everything we've discussed here applies to classes, methods, and fields. Things get very slightly more complicated when interfaces are applied, but the cases aren't as revealing as the ones discussed in this article. The rules should be pretty easy to figure out.
I've discussed a lot of the details about how the Java compiler and Java Virtual Machine work together to determine what methods are called. By understanding these rules, you should be able to better understand changes you can (and can't) make to your programs, and when they'll remain compatible with other classes.