Java-无法访问Foo类型的封闭实例

我有以下代码:

课堂你好{
阶级事务{
公共整数大小;
事物{
尺寸=0;
}
}
公共静态void main(字符串[]args){
事物1=新事物();
System.out.println(“你好,世界!”);
}
}

我知道东西什么都不做,但我的Hello,World程序没有它也可以编译。只有我定义的类在我身上失败了

它拒绝编译。我得到没有可访问的Hello类型的封闭实例。“在创建新事物的行中。我猜:

  1. 我有系统级问题(在DrJava或我的Java安装中)或
  2. 我对如何用java构建工作程序有一些基本的误解

有什么想法吗

静态类的东西将使您的程序工作

实际上,您已经将Thing作为一个内部类,它(根据定义)与Hello的特定实例相关联(即使它从未使用或引用它),这意味着在范围中没有特定的Hello实例的情况下说new Thing();是一个错误

如果将其声明为静态类,则它是一个“嵌套”类,不需要特定的Hello实例

发表评论