我知道静态类我使用静态变量但是如果我想要在静态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.
}
}
}
答案 0 :(得分:2)
您需要为静态类提供要从中检索变量的外部类的实例。像:
public class NestedClass05 {
int num=1;
public static class Test1{
int num=2;
public int Method1(NestedClass05 instance, int a){
return instance.num + a;
}
}
}