简单的空引用错误就是杀了我(Java)

时间:2010-12-12 05:15:37

标签: java eclipse subclass nullreferenceexception superclass

好吧所以我正在搞乱java中的一些代码而且我得到了一个奇怪的错误。我的班级混乱有一个Window变量FSW,也是公共的。现在我有另一个名为Look的类。 Chaos创建一个Look然后运行Look.Init()方法。该init方法运行look run方法,该方法尝试引用其父Chaos的FSW变量。

问题在于,无论我何时从Look中引用-any-变量,我都会看到变量为null = /。我可以从子类Look调用Chaos方法,但我无法引用变量。

这是一个文本托管网站的链接,如果有人认为我需要导出和上传包我想我会,但我觉得这可能只是我看不到的东西是显而易见的。< / p>

http://www.text-upload.com/read.php?t=1790

1 个答案:

答案 0 :(得分:2)

你的问题是你实际上没有引用Chaos中的变量,你引用了Look中的变量。

即。你用它自己的FSW实例创建一个新的Look()对象,默认情况下它被初始化为null,这在Look

中永远不会被设置

如果你想在Chaos中引用变量,我建议你将Chaos对象传递给Look的构造函数。

所以看看你会把一个新的场混乱,并添加一个像这样的构造函数

public Look(Chaos chaos){
   this.chaos = chaos
}

创建Look时的内部混乱你会做

new Look(this)

在内部看,你可以参考chaos.FSW