2016年5月18日水曜日

インスタンスの数を数える場合

staticでクラス全体で共有する変数をもたせて、コンスタラクタでカウントすればいい

public class Test_iga {
  int num ;
  static int counter = 0;//クラスの数を数える
  static int getCounter(){
    return counter;
  }
 //Constucter
  Test_iga() {
        int num = counter;
    System.out.println("counter in Constructer:" + counter);
        counter++;
  }
  public static void main(String[] args) {
    System.out.println("o1.num---------------------");
    Test_iga o1 = new Test_iga();
    System.out.println("o1.num"+o1.num);
    System.out.println("o1.counter"+o1.counter);
    System.out.println("getCounter()" + getCounter());
   
    System.out.println("o2.num---------------------");
    System.out.println("o2.num");
    Test_iga o2 = new Test_iga();
    System.out.println("o2.num"+o2.num);
    System.out.println("o2.counter"+o2.counter);
    System.out.println("getCounter()" + getCounter());
   
    System.out.println("o3.num---------------------");
    System.out.println("o3.num");
    Test_iga o3 = new Test_iga();
    System.out.println("o3.num"+o3.num);
    System.out.println("o3.counter"+o3.counter);
    System.out.println("getCounter()" + getCounter());
   
   
  }
}
java Test_iga
o1.num---------------------
counter in Constructer:0
o1.num0
o1.counter1
getCounter()1
o2.num---------------------
o2.num
counter in Constructer:1
o2.num0
o2.counter2
getCounter()2
o3.num---------------------
o3.num
counter in Constructer:2
o3.num0
o3.counter3
getCounter()3

0 件のコメント:

コメントを投稿