2012-05-05 9 views

答えて

7

メソッドローカル変数は、メソッドのスコープ内で宣言されたローカル変数です。

したがって、非メソッドローカル変数は、クラススコープなどのより広いスコープを持つ変数である必要があります。

なぜ問題があると思われるのかを確かめることはできません。おそらく、オブジェクト内に可変状態を導入するという事実によるものでしょう。

+3

変数のスコープが小さければ小さいほど、それを混乱させる可能性は低くなります。 – ziggystar

+0

メソッドローカル変数は、メソッドの外部から参照することで、メソッドの外側に問題が発生することはありません。 –

+0

非メソッドローカル変数はフィールドです。または、他のタイプの変数は、メソッドローカルではありませんか? –

3

非メソッドローカル変数の問題は、それらがクラス/オブジェクトに可変状態を導入することです。スカラーは機能的な言語でもありますので、あなたができることは避けてください。 (Haskell変数のような純粋な関数型言語では禁止されています。)これらの変数は、parrallelの作業を開始するとさらに多くの問題を作り出します。

+0

私はaioobeの答えを受け入れましたが、あなたの問題に同意します! –

+0

はい彼の定義は良いです。 –

関連する問題