内部静态类字段可见性

Tal*_*lha 3 java

我有两个类如下

public class A{

  private static class B{
   private static int s1;
   private static int s2;
   private int x;

  }
}
Run Code Online (Sandbox Code Playgroud)

在 B 类中,所有字段都是私有的,并且这些所有字段都不应在 A 类中访问。但是存在一个“谜团”,即 A 类中可以访问静态字段

private int x
Run Code Online (Sandbox Code Playgroud)

不可访问。我的问题是为什么可以在 A 类中访问私有静态字段?

注意:我的 B 类是静态的,它的构造函数是私有的。

Uwe*_*nus 6

内部类中的字段和方法对于外部类始终可见。这是设计使然。如果要隐藏字段和方法,请使用单独的类。