メソッドとフィールド

java

public static  int  counter  =   0;
-------------  ---  -------      
修飾子         型   フィールド名
  • staticが付けられない変数は、インスタンス変数と呼ばれる。
  • クラスからオブジェクトが生成されたときに、それぞれのオブジェクトがこの変数を持ち、オブジェクト毎に別の値を設定できる。

  • staticを付けた変数はクラス変数と呼ばれる。
  • クラス変数はクラスに唯一の変数で、それぞれのオブジェクトには含まれない。
  • 各オブジェクトは常に同じクラス変数を参照する。

public static   int        setXXX(int c, String name)  throws IOException
-------------   ---        --------------------------  ------------------
修飾子          戻り値の型  引数リスト                  例外の宣言
  • フィールドの値を取得または設定するメソッドは、慣例的にgetXXX(),setXXX()という名前を付ける。

 SomeClass2 obj = new SomeClass2();
 obj.message = "文字列を設定する";
- フィールドには、オブジェクト名+ピリオド(.)+フィールド名の形でアクセスします。

 SomeClass2.counter = 12;
- スタティックフィールドの場合、オブジェクト名の代わりにクラス名を使うこともできる。

サンプルプログラム

public class MethodTest
{
  public static void main(String[] args)
  {
    SomeClass2 obj1, obj2;
    obj1 = new SomeClass();
    obj2 = new SomeClass();

    obj1.setCounter(10);                    // クラス変数に値を設定
    int i = obj2.getCounter();                                 // 戻り値を変数へ格納   
    System.out.println("obj1.counter ----> " + obj1.counter); 
    System.out.println("obj2.counter ----> " + i);
    System.out.println("SomeClass2.getCounter() ----->" + SomeClass2.getCounter());
    obj1.setMessage("object1");                                 // 各オブジェクトにメッセージを格納
    obj2.setMessage("object2");
  }
}

class SomeClass2
{
  protected static int counter = 0;
  protected String message;
  
  public SomeClass2()
  {
    counter++;
    System.out.println(counter + "times");
  }
  public void messageOut()
  {
    System.out.println(message);
  }
  public void setMessage(String s)
  {
    message = s;
  }
  public static int getCounter()
  {
    return counter;
  }
  public static void setCounter(int c)
  {
    counter = c;
  }
}

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2008年01月15日 23:38
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。