ちょっと考えてみた27

7グローバル変数という聞きなれない用語が出てきたので、AndroidJavaでの変数について考えてみる。

少し復習。

Javaでは、フィールドという名称が出てくるが、これはすこし混乱するもとだとおもってます。メンバー変数と呼んだほうがしっくりきます。

 

ローカル変数 ・・・ メソッド内にしか出てこない変数

           そのメソッドの処理内容を記載するためだけの変数

 

メンバー変数 ・・・クラス内で定義された変数

          [クラスは変数とメソッドをまとめたもの]

 

さて、本題ですが、グローバル変数そのものは、Javaでは無いようです。

ではAndroidではどうでしょうか?Androidではあります。

これまで、MainActivityクラス内で、一番上に変数を定義するのが、少し違和感があったのですが、これで納得しました。

 

ただし、非同期のプログラミング(HTTP通信やデータベースなど)では、それ関連の変数はグローバル変数にしないほうがよいようです。これらのときは、try-catch文や無名クラスを使用したりなどで、クラス変数も使いづらく(実際沼ります)、ローカル変数を使って処理を記載したクラス(Runnableを実装したクラスなど)を作成し、それをスレッド内でインスタンス化し、そのメソッドを呼び出すというほうがよいようです。

 

下記参照してます

 

androidstudio.hatenablog.com