開発メモ/Java/基礎/静的変数、静的メソッド
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*静的変数、静的メソッド [#q9484e92]
静的メソッド、変数の宣言は
static 型 変数名;
static 型 メソッド名(引数)
のように宣言する~
静的変数は静的変数が定義されているクラスのすべてのオブジ...
変数です~
なので、各オブジェクトごとに同じ変数名だけど内容が違うよ...
staticで宣言しないようにします。~
例えば、静的変数を使ってしまうと・・・~
''例''~
#codeprettify{{
class a{
static int num = 0;
a(int num){
this.num = num;
}
public void output(int cnt){
System.out.println("a_obj" + cnt + " = " + num);
}
}
class b{
public static void main(String args[]){
a a_obj1 = new a(5);
a a_obj2 = new a(6);
a a_obj3 = new a(7);
a_obj1.output(1);
a_obj2.output(2);
a_obj3.output(3);
}
}
}}
''結果''~
D:>java b
a_obj1 = 7
a_obj2 = 7
a_obj3 = 7
というように、同じ数字になってしまいます。~
ひとつの変数を多くのオブジェクトで統一して使う(なんかち...
場合は静的変数にして、同じ変数名でも独立して使う場合はイ...
にしなければならないということです。
終了行:
*静的変数、静的メソッド [#q9484e92]
静的メソッド、変数の宣言は
static 型 変数名;
static 型 メソッド名(引数)
のように宣言する~
静的変数は静的変数が定義されているクラスのすべてのオブジ...
変数です~
なので、各オブジェクトごとに同じ変数名だけど内容が違うよ...
staticで宣言しないようにします。~
例えば、静的変数を使ってしまうと・・・~
''例''~
#codeprettify{{
class a{
static int num = 0;
a(int num){
this.num = num;
}
public void output(int cnt){
System.out.println("a_obj" + cnt + " = " + num);
}
}
class b{
public static void main(String args[]){
a a_obj1 = new a(5);
a a_obj2 = new a(6);
a a_obj3 = new a(7);
a_obj1.output(1);
a_obj2.output(2);
a_obj3.output(3);
}
}
}}
''結果''~
D:>java b
a_obj1 = 7
a_obj2 = 7
a_obj3 = 7
というように、同じ数字になってしまいます。~
ひとつの変数を多くのオブジェクトで統一して使う(なんかち...
場合は静的変数にして、同じ変数名でも独立して使う場合はイ...
にしなければならないということです。
ページ名: