我的代码如下所示:
public class Hello{
private class Word{
...
}
public static void main(String[] args) {
Word W = new Hello.Word();
}
}
如何从主类调用类 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();