=============================== More on static vs. non-static =============================== . Can a non-static method access a non-static field? That is, can a dynamic method access a dynamic field? Yes, of course. . Can a non-static method access a static field? That is, can a dynamic method access a static field? Yes. This is how something (static) is shared by multiple objects since dynamic methods are executed in the context of a dynamic object (i.e., an instance). . Can a static method access a non-static field directly without going through an object reference? That is, can a static method access a dynamic field? No! If there are 500 objects created from a class, how would we know which field value to access out of those 500 different copies of the field in those 500 different objects? Yes, it can access dynamic fields indirectly through an object reference though. . Can a static method access a static field? Yes, of course.