スポンサードリンク
HOME > Java > クラス機能 静的メンバ関数

Java - クラス機能 静的メンバ関数

クラス内の変数や関数にstaticを付ける事ができます。

変数にstaticを付けると静的メンバ変数となります。

関数にstaticを付けると静的メンバ関数となります。

ここでは、静的メンバ関数の説明をしています。静的メンバ変数の説明はコチラです。



静的メンバ関数

クラスの中にstatic付きで定義された関数は、静的メンバ関数となります。

クラスメソッドstaticメソッドと呼ぶ場合もあります。

静的メンバ関数の特徴は以下の通りです。

静的メンバ関数には、thisが渡されません。(thisについてはコチラ

そのため、通常、静的メンバ関数内から

同クラス内のメンバ変数にアクセスする事ができません。

ただ、静的メンバ変数へはアクセス可能です。

また、同クラス内のstaticが付かないメンバ関数にもアクセスできません。

このような制限があるため、

通常、静的メンバ関数では、静的メンバ変数を扱う使い方が一般的な方法です。

記述例

class Cstatic {

   public
static int sdata;

   public
static void show() {
      System.out.printf("sdataの値は%dです\n", sdata);
   }

}


使用例

ファイル名:Cmain.java
class Cstatic {

   public
static int sdata;

   public
static void show() {
      System.out.printf("sdataの値は%dです\n", sdata);
   }

}

public class Cmain {

   public static void main() [
      Cstatic a = new Cstatic();
      Cstatic b = new Cstatic();

      a.sdata = 10;
      b.sdata = 20;
      Cstatic::sdata = 30;

      a.show();
      b.show();
      Cstatic.show();

   }
}


この例では、クラスCstaticのインスタンスabをつくり、

それぞれ、静的メンバ変数へ代入を行い、静的メンバ関数showを呼び出す例です。

 アクセス方法は、次の2つです。

  1.インスタンス名.静的メンバ関数名 (例 a.show

  2.クラス名.静的メンバ関数名 (例 Cstatic.show

2のアクセス方法を使えば、クラスのインスタンスを作成しなくても

いきなりアクセスできるのが特徴です。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved