我的代码如下所示:
public class Hello{
private class Word{
...
}
public static void main(String[] args) {
Word W = new Hello.Word();
}
}
如何从 main 中调用 Word 类?
Word W = new Hello.Word();
似乎不是正确的解决方案。
你可以做
Hello.Word word = new Hello().new Word();
由于Word是一个内部类,你需要一个外部类的实例来实例化它。
您正在尝试从静态上下文中实例化另一个内部的非静态类。
要么使内部类静态:
private static class Word{
...
}
(但是,您不需要该Hello部分,只需Word W = new Word();做得很好)
或者创建外部类的实例,然后使用它创建内部类的实例。(Sotirios也提出了这个解决方案,但有更好的细节。)
Word是的内部类Hello,即没有类实例的存在,就没有类实例存在Hello的机会Word。所以你必须先创建一个对象Hello,然后再创建一个Word对象。
尝试这个
Hello.Word W = new Hello(). new Word();