#navi(開発メモ/Java/基礎);
*this [#z01540b7]
現在実行中のオブジェクトを指す。
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()コンストラクタを呼び出す。