我有以下代码:
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."
创建新事物的路线。我猜是:
tatic class Thing
将使你的程序正常运行。
实际上,你已经拥有Thing
一个内部类,该内部类(根据定义)与的特定实例相关联Hello
(即使它从未使用或引用它),这意味着在new Thing()
;不包含特定Hello
实例的情况下说这是错误的范围。
如果改为将其声明为静态类,则它是“嵌套”类,不需要特定的Hello
实例。
我有以下代码: 我知道什么都不做,但我的Hello,World程序没有它也可以编译。只有我定义的类在我身上失败了。 它拒绝编译。我得到在创建新事物的行中。我猜: 我有系统级问题(在DrJava或我的Java安装中)或 我对如何用java构建工作程序有一些基本的误解 有什么想法吗?
整个守则是: 为什么会出现以下代码段: 导致以下错误: 无法访问ThreadLocalTest类型的封闭实例。必须使用ThreadLocalTest类型的封闭实例限定分配(例如,x.new A(),其中x是ThreadLocalTest的实例)。 核心问题是:我想在静态方法中初始化内部类。这里有两种解决方案: > 使用外部引用,如:
我想让具有多个内部类的抽象类对其进行扩展,并可以通过静态方法创建其内部类的实例,但我得到编译器错误“无法访问ITask类型的封闭实例。必须使用ITask类型的封闭实例限定分配(例如,x.new A(),其中x是ITask的实例)。” 我发现内部类应该由外部类的实例创建,但是我的外部类有抽象方法,我不能创建它的实例。我创建了扩展父类的内部类,因为我习惯于控制它们的创建。那么有没有办法让我的模式发挥作
当我试图在Eclipse中编译/启动我的程序时,我得到了一个错误
我有一个叫做GreenhouseControls的类,它有很多 内置于其中的类,例如: 我从文本文件中提取值以获取事件名称(如“ThermostatNight”)和时间值(如“2000”)。为了用这些值实例化一个新对象,我构建了一个EventFactory,它接受这些值作为参数。 这是我构建的类,用于从文本文件值创建新的事件对象: 当我运行这个程序时,一切都运行得很好,直到我将EventFacto
问题内容: 出于教育目的,我尝试制作一个服务器和一个客户端,其中服务器从多个客户端接收数据并回显每条消息。问题是,当我尝试让服务器一次将回显发送到所有客户端时。 我搜寻并回答了许多类似的问题,但是没有一个对我有帮助。希望你能指出我的错误。提前致谢。 问题答案: 您的嵌套类需要外部类的一个实例,因为它不是静态的-但你不 具备 外部类的一个实例。 尝试制作两个嵌套类。看起来他们无论如何都不 需要 引用