如何从嵌套类Java中调用方法?

use*_*630 2 java nested-class

如何调用methodTwo(); 来自methodOne(); ?

class Name {
    void methodOne() {
        class InnerClass {
           void methodTwo() {
           }
         }
     }
 }
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jon*_*eet 6

您需要创建一个实例,与InnerClass任何其他实例方法一样,需要一个实例来调用它:

class Name {
   void methodOne() {
     class InnerClass {
       void methodTwo() {
       }
     }

     InnerClass x = new InnerClass();
     x.methodTwo();
   }
}
Run Code Online (Sandbox Code Playgroud)

在做这个之前值得小心 - 我不认为我曾经见过在我所关联的生产代码中的方法中声明的命名类.通常情况下,我要么使用匿名内部类来实现非常短的内容,要么使用私有静态命名类来实现更长时间,以避免使方法过长.