this

現在実行中のオブジェクトを指す。

    java.class
      │
      ↓
┌───────────────┐
│javava j = new javava (1,2,3) │
└───────────────┘
      │
      ↓
   javava.classs
      │
      ↓
┌─────────────┐
│class javava       │
│ ・           │
│ ・           │
│ javava(int x,int y,int z)│
│     this.x = x;   │←このときのthisはjava.classの j を示していると思われる。
│     this.y = y;   │なのでx,y,zに代入可能なのだと思われる
│     this.z = z;   │また、このような使い方も可能らしい
│             │this(x,y,z);
│             │但し、この表記はコンストラクタの先頭の行のみ(本ではそう書いてある)
└─────────────┘(先頭というより、最後のコンストラクタでこれをやるとエラーになるような・・・)

また、コンストラクタで

#codeprettify{{ class test{

   int x;
   int y;
   test(){
       this(100,100)
   }
   test(int x, int y){
       this.x = x;
       this.y = y;
   }

} }} といった場合、最初の引数の無いtest()コンストラクタは引数のあるtest()コンストラクタを呼び出す。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS