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;
}
}
最終更新:2008年01月15日 23:38