外层类无法访问嵌套的静态类方法?

时间:2013-04-02 21:30:19

标签: java nested-class

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

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();
  }
}

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

1 个答案:

答案 0 :(得分: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
$