【Java】匿名クラスから親クラスのフィールドを参照する方法
匿名クラスの中から、親クラス名.this でアクセス可能。
public class OuterClass { //アウタークラスのフィールド private String str = ""; //インナークラスの定義 private class InnerClass{ //インナークラスのフィールド private String str = ""; //アウタークラスのフィールド操作&参照 public void handleOuterField(){ OuterClass.this.str = "Outer class's field"; //← 親クラス名.this.フィールド名でアクセス可能 System.out.println(OuterClass.this.str); } //インナークラスのフィールド操作&参照 public void handleInnerField(){ this.str = "Inner class's field"; System.out.println(this.str); } } public void print(){ InnerClass inner = new InnerClass(); inner.handleOuterField(); //"Outer class's field" が表示される inner.handleInnerField(); //"Inner class's field" が表示される } public static void main(String[] args) { new OuterClass().print();; } }