-1

我创建了一个这样的嵌套静态类:

public class OuterClass {

  public static class NestedClass {
    public static String getName() {
      //Some stuff
      return "Name";
    }
  }

  //Now am not able to call the method *getName()* inside *OuterClass*
  NestedClass.getName(); //Compile complains here
}

但我可以从另一个班级做到这一点

public class TestOuterClass {
  public void testName() {
    OuterClass.NestedClass.getName();
  }
}

我不明白为什么它在定义的类中不起作用。

4

1 回答 1

2

放置NestedClass.getName();在方法中,例如main.

这可以正确编译并运行:

public class OuterClass {

  public static class NestedClass {
    public static String getName() {
      //Some stuff
      return "Name";
    }
  }

  public static void main(String[] args)
  {
      System.out.println(NestedClass.getName());
  }
}

输出:

$ javac OuterClass.java
$ java OuterClass
Name
$
于 2013-04-02T21:32:05.940 回答