Class A contains static class B that has static methodB. Class A extends class C and inherits its public methodC.
I want to access methodC from methodB. I need to be sure that the instance of Class A that I call methodB from is used in methodB.
Since the inner class B is static, you can't access any instance methods or fields from its outer class A. This is just like static methods--if a method is static, you can't access instance members either.
It seems to me like class B may need to be non-static; it then gets an automatic reference to its enclosing instance of class A. It can then simply call "methodC". If that would cause name clashes you can use A.this.methodC -- the A.this is the reference to the enclosing instance.