簡體   English   中英

Java:如何使用“ this”訪問外部類的實例變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM