修飾子の実験Advertisementstatic
今回はstatic。静的。
static変数
staticをつけて宣言された変数をstatic変数という。逆にstaticではない変数はインスタンス変数と呼ぶ。
static変数は、そのクラスをインスタンス化しないで使用することができる。 その場合、クラス名を指定して使うことになる。以下実験。
public class Test{
public static void main(String args[]){
stTest.num = 100;
System.out.println("stTest.num : " + stTest.num);
}
}
class StaticTest{
static int num;
}
結果
StaticTest.num : 100普通はこんな使い方しないけど。 newでStaticTestクラスのオブジェクトを作らなくても、StaticTestクラス内のnumが使えた。 次はオブジェクトを作った場合。StaticTest型のオブジェクト変数をいくつ作ってもプログラム中にnumはひとつだけになり、すべてのオブジェクトがそれを共有することになる 以下、実験。
public class Test{
public static void main(String args[]){
StaticTest st1 = new stTest();
StaticTest st2 = new stTest();
st1.num = 100; //st1の方のnumにだけ代入
System.out.println("st1のnum : " + st1.num);
System.out.println("st2のnum : " + st2.num);
}
}
class StaticTest{
static int num;
}
結果。
st1のnum : 100 st2のnum : 100実験の結果、StaticTest型変数のst1とst2が両方同じnumを使用していることがわかる。 Advertisement |
ショートカット・634・このカテゴリのトップページに戻る ・634labs UIコレクションギャラリー サイト検索Y!ログールビリヤード |