Question

Why Method Local Inner class cannot be public? I know it is useless to make them private but why not public? Is that because Method Local Inner is also treated as local variables? As local variables cannot be public. Am i going right or missing something?

public class OuterClass {
   public void outerMethod() {
   public class Inner {  // having problem here
    ... 
    }
  }
 }
Was it helpful?

Solution

Since it is declared within the method body, ie. it's a local class, you can't refer to it by name anywhere else in your code, only in the method body itself following its declaration. It is therefore pointless for it to have an access modifier.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top