如何在静态 NestedClass 中使用非静态 OuterClass 变量?

How do I use non-static OuterClass variable in static NestedClass?

我知道静态 class 我使用静态变量,但如果我想在静态 NestedClass 中使用非静态 OuterClass 变量。还有别的出路吗?我怎样才能做到这一点?或者我可以这样做吗?

public class NestedClass05 {
    int num=1;

    public static class Test1{
        int num=2;

        public int Method1(int a){                
            return NestedClass05.num+a; // How I can use that
        }
    }

    public class Test2{
        int num=3;

        public int Method1(int a){
             return NestedClass05.this.num+a; // I use like this.
        }
    }
}

您需要为静态 class 提供要从中检索变量的外部 class 实例。喜欢:

 public class NestedClass05 {
     int num=1;

     public static class Test1{
          int num=2;

          public int Method1(NestedClass05 instance, int a){
              return instance.num + a;
          }
      }
  }