![](/img/trans.png)
[英]Access outer class instance using nested class instance stored in a variable?
[英]Java: how to access outer class's instance variable by using “this”?
我有一个静态内部类,我想在其中使用外部类的实例变量。 当前,我必须以“ Outerclass.this.instanceVariable”格式使用它,这看起来很奇怪,有没有更简单的方法来访问外部类的实例字段?
Public class Outer
{
private int x;
private int y;
private static class Inner implements Comparator<Point>
{
int xCoordinate = Outer.this.x; // any easier way to access outer x ?
}
}
static
嵌套类无法引用外部类实例,因为它是static
,没有相关的外部类实例。 如果希望静态嵌套类引用外部类,则将实例作为构造函数参数传递。
public class Outer
{
private int x;
private int y;
private static class Inner implements Comparator<Point>
{
int xCoordinate;
public Inner(Outer outer) {
xCoordinate = outer.x;
}
}
}
如果您指的是内部(非static
嵌套)类,并且没有变量名冲突(即,两个变量都称为同一名称) ,则可以直接引用外部类变量
public class Outer
{
private int x;
private int y;
private class Inner
{
int xCoordinate = x;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.