从内部类调用外部类函数

San*_*osh 120 java

我在Java中实现了一个嵌套类,我需要从内部类调用外部类方法.

class Outer {
    void show() {
        System.out.println("outter show");
    }

    class Inner{
        void show() {
            System.out.println("inner show");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么称呼这个Outer方法show

Gui*_*ume 203

您需要为外部类添加前缀:

Outer.this.show();
Run Code Online (Sandbox Code Playgroud)

  • 大.我跟进了这个.如何通过拥有内部类实例从完全不同的地方调用外部类中的方法.Inner myInner = new Outer().new Inner(); ...例如,如果外部类具有公共方法getValue().myInner.getValue()不起作用,myInner.Outer.getValue()也不起作用.我知道我可以通过在Inner中使用方法getOwner然后调用它来实现它但是我需要那个方法吗?谢谢 (3认同)