Java 为什么可以';在方法本地内部类中是否有访问说明符?

Java 为什么可以';在方法本地内部类中是否有访问说明符?,java,inner-classes,Java,Inner Classes,为什么方法本地内部类不能是公共的?我知道把它们保密是没有用的,但为什么不公开呢?这是因为方法局部内部也被视为局部变量吗?因为局部变量不能是公共的。我是走对了还是错过了什么 public class OuterClass { public void outerMethod() { public class Inner { // having problem here ... } } } 因为它是在方法体中声明的,也就是说,它是一个本地类,所以您不能在代码中的

为什么方法本地内部类不能是公共的?我知道把它们保密是没有用的,但为什么不公开呢?这是因为方法局部内部也被视为局部变量吗?因为局部变量不能是公共的。我是走对了还是错过了什么

public class OuterClass {
   public void outerMethod() {
   public class Inner {  // having problem here
    ... 
    }
  }
 }

因为它是在方法体中声明的,也就是说,它是一个本地类,所以您不能在代码中的任何其他地方按名称引用它,只能在声明后的方法体中引用它。因此,它使用访问修饰符是毫无意义的。

是的,它的概念与局部变量相同。@RohitJain:谢谢,伙计!!