2012-04-01 13 views

答えて

7

気にせず区別がつきません

車を建てるのとちょっと違います。 は機能に応じて、他のコンストラクタが使用され、 が、最後に、あなたが、プレースホルダとしてthisキーワードを考えることができ、車(この)

+0

花のために感謝;-) –

2

を持っています。実行時に、キーワードは、扱っているオブジェクトのオブジェクト参照と交換されます。

3

コンストラクタやメモリ割り当てなど何もする必要はありません。 thisキーワードは現在のオブジェクトインスタンス参照です。

7

キーワードthisは2つの意味を持ち、混乱はこれらの2つの意味の周りにある可能性があります。

コンストラクタでは、this(...)はコンストラクタのメソッド呼び出しに似ています。コンパイラは、使用する引数の数と型に基づいてどのコンストラクタを呼び出すかを選択します。

参考としてthisを使用すると、このオブジェクトを意味し、どのコンストラクタが使用されたかは重要ではありません。

20

あなたはいわば、this.this()を区別する必要があります。時間の

ほとんどは、あなたが現在のオブジェクトへの参照としてthisを使用して、このオブジェクトのすなわち参照がthisのために、実行時に置き換えられます。たとえば、パラメータまたは参照としてthisを使用すると、this.someMemberとなります。

異なるパラメータを持つ異なるコンストラクタ、つまりオーバーロードコンストラクタを使用できます。コンストラクタの冒頭では、this(parameter_1, ... parameter_n);を最初の命令として使用して、別のコンストラクタを呼び出すことができます。

どちらの場合も、the java tutorial about the this keywordに詳しい説明があります。

1

メソッド本体内にthisを使用すると、メソッドが存在するクラスのインスタンスが参照されます。

これはまた、thisが文脈から使用できないことを意味する。

1

thisは、インスタンスが構築された方法

0

1.'this'キーワードは、それがused.Generally我々はこのclass.Allでインスタンス変数、コンストラクタとメソッドを記述しているクラスのオブジェクトを参照するのインスタンス自体がregarldless意味しますメンバーは 'this'で表されます。
2.オブジェクトがクラスに対して作成されると、オブジェクトの内部でデフォルトの参照も作成されます。これは 'this'以外のものです。
の例キーワード:
サンプル(int x)//パラメータ化されたコンストラクタ{
this。x = x; //ローカル変数xを現在のクラスインスタンス変数x
に格納する

関連する問題