【发布时间】:2016-07-20 11:11:37
【问题描述】:
我有一个静态嵌套类StatClass,文件名为Example.java
class OuterClass
{
public static class StatClass
{
System.out.println("Hello"); // This line doesn't work
void pow()
{ System.out.println("Hello W");}
}
}
public class Example
{
public static void main(String[] args)
{
OuterClass.StatClass statInner1 = new OuterClass.StatClass();
statInner1.pow();
}
}
第一个 println 语句在静态嵌套类中不起作用,即如果将其删除然后程序编译,虽然 println 语句在 pow() 方法中起作用,但无法理解这一点
【问题讨论】:
-
“这一行不起作用”,因为它是一个方法之外的语句。
-
提示:在处理“内部类”之前,您可能需要真正了解基本的基础知识。
-
更准确地说:它是一个块外的语句。
-
@GhostCat ... 其中包括告诉 OP 正确的术语:这不是 内部类。它只是一个静态嵌套类。内部类不是静态的。
-
@Seelenvirtuose Uups。正确的;好收获!
标签: java inner-classes