Java 如何调用外部类的方法中定义的类的实例

Java 如何调用外部类的方法中定义的类的实例,java,Java,问题:如何在方法外部调用InsideMethod对象如果我正确理解了您想要的内容,您可以执行以下操作: class Outer{ public void Method(){ int i=10; System.out.println(i); Class InsideMethod{ // } } 在外部对象的方法内部定义 阶级 如果它是在一个方法中定义的,那么它的范围仅限于该方法。此代码段说明了各种可能性: OuterClass.this

问题:如何在方法外部调用InsideMethod对象

如果我正确理解了您想要的内容,您可以执行以下操作:

class Outer{

    public void Method(){

    int i=10;
    System.out.println(i);
    Class InsideMethod{
        //
    }
}
在外部对象的方法内部定义 阶级


如果它是在一个方法中定义的,那么它的范围仅限于该方法。

此代码段说明了各种可能性:

OuterClass.this
注:

内部类的方法隐藏了外部类的类似名称的方法。所以,共同的,;调用从内部类分派实现。 使用OuterClass.this构造指定要从外部类分派方法以绕过隐藏 callonlyout从OuterClass分派该方法,因为它是定义该方法的最内部封闭类。
根据我对你问题的理解。。。请参见下面的示例,在外部类的方法中定义的类“难以捉摸”的实例不能从方法“doOuter”的外部引用

public class Outer {

  void onlyOuter() { System.out.println("111"); }
  void common() { System.out.println("222"); }

  public class Inner {
    void common() { System.out.println("333"); }
    void onlyInner() {
      System.out.println("444");// Output: "444"
      common();                 // Output: "333"
      Outer.this.common();      // Output: "222"
      onlyOuter();              // Output: "111"
    }
  }
}

你能提供一个例子吗?我们可以调用:newclassname.Method;是的,我们可以。但我们无法访问该方法中的变量。
public class Outer {

    public void doOuter() {
        class Elusive{

        }
        // you can't get a reference to 'e' from anywhere other than this method
        Elusive e = new Elusive(); 
    }

    public class Inner {

        public void doInner() {

        }
    }

}