好吧,所以我在弄乱Java中的一些代码,并且遇到了一个奇怪的错误。我有混沌类,其中有一个Window变量FSW,也有public。现在,我有另一个类叫做Look。 Chaos创建一个Look,然后运行Look.Init()方法。该init方法运行looks run方法,该方法尝试引用其父级Chaos的FSW变量。
问题是,无论何时我从Look中引用Chaos的-any-变量,无论如何解决,该变量均为null = /。我可以从子类Look中调用Chaos方法,但不能引用变量。
这里是指向文本托管站点的链接,如果有人认为我有必要导出并上传该程序包,我想我会这样做,但是我觉得这可能只是我看不到的东西。
http://www.text-upload.com/read.php?t=1790
最佳答案
您的问题是您实际上没有从Chaos内部引用变量,而是从Look内部引用变量。
即您使用其自己的FSW实例创建一个新的Look()对象,默认情况下将其初始化为null,这永远不会在Look内部设置
如果要在Chaos中引用变量,建议您将Chaos对象传递给Look的构造函数。
所以在外观上,您将放置一个新的字段混乱,并添加一个像这样的构造函数
public Look(Chaos chaos){
this.chaos = chaos
}
在创建Look时在Chaos中进行操作
new Look(this)
内部外观,然后可以引用chaos.FSW