好吧所以我正在搞乱java中的一些代码而且我得到了一个奇怪的错误。我的班级混乱有一个Window变量FSW,也是公共的。现在我有另一个名为Look的类。 Chaos创建一个Look然后运行Look.Init()方法。该init方法运行look run方法,该方法尝试引用其父Chaos的FSW变量。
问题在于,无论我何时从Look中引用-any-变量,我都会看到变量为null = /。我可以从子类Look调用Chaos方法,但我无法引用变量。
这是一个文本托管网站的链接,如果有人认为我需要导出和上传包我想我会,但我觉得这可能只是我看不到的东西是显而易见的。< / p>
答案 0 :(得分:2)
你的问题是你实际上没有引用Chaos中的变量,你引用了Look中的变量。
即。你用它自己的FSW实例创建一个新的Look()对象,默认情况下它被初始化为null,这在Look
中永远不会被设置如果你想在Chaos中引用变量,我建议你将Chaos对象传递给Look的构造函数。
所以看看你会把一个新的场混乱,并添加一个像这样的构造函数
public Look(Chaos chaos){
this.chaos = chaos
}
创建Look时的内部混乱你会做
new Look(this)
在内部看,你可以参考chaos.FSW