0

好吧,所以我在 java 中搞乱了一些代码,我得到了一个奇怪的错误。我有我的混沌类,它有一个窗口变量 FSW,也是公共的。现在我有另一个名为 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

4

1 回答 1

2

您的问题是您实际上并未从 Chaos 中引用变量,而是从 Look 中引用了变量。

即你用它自己的 FSW 实例创建一个新的 Look() 对象,默认情况下初始化为 null,这永远不会在 Look 中设置

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

所以看起来你会放一个新的字段混乱,并添加一个像这样的构造函数

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

在创建 Look 时在 Chaos 内部你会做

new Look(this)

里面看你可以参考 chaos.FSW

于 2010-12-12T06:40:12.660 回答