从主呼叫私人类.都在公开课上



我的代码如下所示:

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也提出了这个解决方案,但有更好的细节。

WordHello的内部类,即,如果没有Hello类实例的存在,就没有Word类实例存在的机会。因此,您必须先创建一个对象Hello然后Word对象。
试试这个

    Hello.Word W =  new Hello(). new Word();  

相关内容

  • 没有找到相关文章

最新更新