0

さて、私はJavaでいくつかのコードをいじっていて、奇妙なエラーが発生しています。私は、ウィンドウ変数 FSW を持つ私のクラス Chaos も持っています。これで、Look という別のクラスができました。Chaos は Look を作成し、Look.Init() メソッドを実行します。その init メソッドは、その親 Chaos の FSW 変数を参照しようとするlook run メソッドを実行します。

問題は、Chaos 内から変数を参照するたびに、どのように取得したとしても、変数が 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
}

ルックを作成するときのカオスの内部では、次のようにします

new Look(this)

外観の内部では、chaos.FSWを参照できます。

于 2010-12-12T06:40:12.660 に答える