ついでにインナークラスから、属するエンクロージングインスタンスの取り方もついでに残しておきます。これも意外と最近知りました。 エンクロージングインスタンスのメンバーやメソッドは、インナークラスに同じ識別子が無い限り、直接使うことができますが… class ClassA { private String member; private void method() {} class InnnerA { void innnerMethod() { // 以下はどちらもClassAのものにアクセス member = "hoge"; method(); } } } …それではインナークラスにも同じ名前のフィールドやメソッドがある場合はどうすれば指定できるでしょう?エンクロージングインスタンスを取得するには? ローカル変数名とフィールド変数名が重複する場合であれば、thisを付加することで区別できます