welcome: please sign in
location: "まとめと補足"の差分
2と4のリビジョン間の差分 (その間の編集: 2回)
2008-11-30 12:23:59時点のリビジョン2
サイズ: 51
編集者: masahiko
コメント:
2008-12-09 13:05:25時点のリビジョン4
サイズ: 1117
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
static変数(静的変数)はクラス内に取られる変数で、
そのクラスのインスタンスから共通のものとして扱うことができます。

----
=== 例 ===

Takoyakiクラスにはkosuとajiの2つの変数があります。

 {{{#!java
 public class Takoyaki
 {
  static int kosu;
  String aji;
  
  Takoyaki(String a)
  {
   aji = a;
  }
  
  public static void main(String[] args)
  {
   new Takoyaki("ソース");
   new Takoyaki("しょうゆ");
  }
 }
 }}}

ajiはインスタンスの属性であり、
インスタンス内に変数が取られます。

一方static修飾子がつけられた変数kosuはクラス内に取られます。

図で示すとこのようになります。
行 4: 行 38:

 {{{#!java
 public class Takoyaki
 {
  static int kosu = 0;
  String aji;
  
  Takoyaki(String a)
  {
   kosu++;
   aji = a;
  }
  
  public static void main(String[] args)
  {
   new Takoyaki("ソース");
   new Takoyaki("しょうゆ");
   System.out.println( kosu );
  }
 }
 }}}

static変数

static変数(静的変数)はクラス内に取られる変数で、 そのクラスのインスタンスから共通のものとして扱うことができます。


Takoyakiクラスにはkosuとajiの2つの変数があります。

  •    1  public class Takoyaki
       2  {
       3         static int kosu;
       4         String aji;
       5         
       6         Takoyaki(String a)
       7         {
       8                 aji = a;
       9         }
      10         
      11         public static void main(String[] args)
      12         {
      13                 new Takoyaki("ソース");
      14                 new Takoyaki("しょうゆ");
      15         }
      16  }
    

ajiはインスタンスの属性であり、 インスタンス内に変数が取られます。

一方static修飾子がつけられた変数kosuはクラス内に取られます。

図で示すとこのようになります。

  • static1.png

       1  public class Takoyaki
       2  {
       3         static int kosu = 0;
       4         String aji;
       5         
       6         Takoyaki(String a)
       7         {
       8                 kosu++;
       9                 aji = a;
      10         }
      11         
      12         public static void main(String[] args)
      13         {
      14                 new Takoyaki("ソース");
      15                 new Takoyaki("しょうゆ");
      16                 System.out.println( kosu );
      17         }
      18  }
    

まとめと補足 (最終更新日時 2010-12-06 01:04:53 更新者 masahiko)