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

我有以下代码:

class Hello {

class Thing {

public int size;

Thing() {

size = 0;

}

}

public static void main(String[] args) {

Thing thing1 = new Thing();

System.out.println("Hello, World!");

}

}

我知道什么Thing也没做,但是没有它我的Hello,World程序就可以编译。只有我定义的类对我不利。

并且它拒绝编译。我到达No enclosing instance of type Hello is accessible."创建新事物的路线。我猜是:

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

回答:

tatic class Thing将使你的程序正常运行。

实际上,你已经拥有Thing一个内部类,该内部类(根据定义)与的特定实例相关联Hello(即使它从未使用或引用它),这意味着在new Thing();不包含特定Hello实例的情况下说这是错误的范围。

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

以上是 Java-无法访问类型为Foo的封闭实例 的全部内容, 来源链接: utcz.com/qa/424663.html

回到顶部