JavaのClass.thisとthisの違いは何ですか?質問する

JavaのClass.thisとthisの違いは何ですか?質問する

クラス内のクラスのインスタンスを参照する方法は 2 つあります。例:

class Person {
  String name;

  public void setName(String name) {
    this.name = name;
  }

  public void setName2(String name) {
    Person.this.name = name;
  }
}

一方はthis.nameオブジェクト フィールドを参照するために を使用し、もう一方はclassName.thisオブジェクト フィールドを参照するために を使用します。これら 2 つの参照の違いは何ですか?

ベストアンサー1

この場合、それらは同じです。このClass.this構文は、外部クラスのインスタンスを参照する必要がある非静的ネストされたクラスがある場合に便利です。

class Person{
    String name;

    public void setName(String name){
        this.name = name;
    }

    class Displayer {
        String getPersonName() { 
            return Person.this.name; 
        }

    }
}

おすすめ記事