我在内部类里想调用外面那个类的方法等属性,怎么调?

解决方案 »

  1.   

    public class TestInner { public int i;

    public void a() {
    } public class Inner {
    void b() {
    a();
    i = 0;
    }
    } public static void main(String[] args) { }}这样有问题么?
      

  2.   

    直接调用,如果要用THIS语法表示 外围类的对象,则用外围类名.this
      

  3.   

    public class Outer { public int someOuterVariable = 9; public void someOuterMethod() {
    System.out.println("--someOuterMethod----");
    } public class Inner {
    public Inner(){
    System.out.println("------"+someOuterVariable);//直接调用
    someOuterMethod();//直接调用
    }
    } public static void main(String[] argv) {
    new Outer().new Inner();
    }
    }打印结果:
    ------9
    --someOuterMethod----
      

  4.   

    public class Outer { public int someOuterVariable = 9; public void someOuterMethod() {
    System.out.println("--someOuterMethod----");
    } public class Inner {
    public Inner(){
    System.out.println("------"+someOuterVariable);//直接调用
    someOuterMethod();//直接调用
    }
    } public static void main(String[] argv) {
    new Outer().new Inner();
    }
    }
    打印结果:
    ------9
    --someOuterMethod----
      

  5.   

    直接调用就可以了 如果内部类有重复的标示符 则用this