![](/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.