While you are in a static method (main), you may only other static methods, or methods from instance variables.
Originally posted by Jeanne Boyarsky:
The reference variable is what is giving you the context. var.method() means call method() on var. Just calling method() is equivalent to this.method() as there is an implicit "this" class unless you say otherwise. Since method() does not exist in the current class it chokes.
Originally posted by Jinny Morris:
But since the only way you can get a non-static method to run is to have already created an object, that object is "understood" to be the one you want if you call another non-static method from within the first non-static method. That's the "understood" this that Jeanne used in her example this.method().