Any time the compiler sees some_cless_name.some_method_name(), it figures you're trying to call a static method of some_class_name. Because, well, that's the syntax for making a static method call from outside the class. It has been for a long time; this is nothing new. So if you write outer_class_name.method(), the compiler still figures that method() must be a statid method of the outer_class_name class. If it's not, then the compiler reports an error, because, well, it
is an error. This new trick of calling an outer class method from within an inner class is something
different from caling a static method. Consequently
Java's creators have created a different syntax for it, rather than re-using the syntax for static method calls. They want you to use the syntax outer_class_name.this.method() rather than outer_class_name.method() because they don't want the call to look like a static method call. Because it
isn't a static method call. Does that make sense?