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