我创建了一个这样的嵌套静态类:
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();
}
}
我不明白为什么它被定义的类不起作用。
答案 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
$