このキーワード Java
⚡ スマートサマリー
Java this キーワードは、メソッドまたはコンストラクタ内で現在のオブジェクトを指す参照変数です。 Less本書では、目的、一般的な使用方法、命名の衝突、コンストラクタの連鎖、および具体的な例について解説します。

このキーワードは何ですか Java?
その このキーワード Java メソッドまたはコンストラクターの現在のオブジェクトを参照する参照変数です。 このキーワードを使用する主な目的は、 Java 目的は、同じ名前を持つクラス属性とパラメータ間の混乱を解消することです。
このキーワードの使用 Java
以下は、this キーワードのさまざまな使用例です。 Java:
- これは、現在のクラスのインスタンス変数を参照するために使用できます。
- これは、現在のクラスのコンストラクタを呼び出す、または開始するために使用できます。
- メソッド呼び出しの引数として渡すことができます。
- コンストラクタ呼び出しの引数として渡すことができます。
- これは、現在のクラスインスタンスを返すために使用できます。
詳しくはこちら こちら ビデオにアクセスできない場合
このキーワードを理解するための例

- CLASS: クラスアカウント
- インスタンス変数: a と b
- メソッドセットデータ: a と b の値を設定します。
- メソッド データを表示する: a と b の値を表示します。
- 主な方法: ここでは、Account クラスのオブジェクトを作成し、set data メソッドと show data メソッドを呼び出します。
コンパイラの混乱を乗り越える
それでは、コードをコンパイルして実行してみましょう。
A と B の予想される出力は、それぞれ値 2 と 3 に初期化される必要があります。
しかし、値は0です。なぜでしょうか?調べてみましょう。
メソッド Set data では、引数は a と b として宣言され、インスタンス変数も a と b という名前になります。
実行時にコンパイラは混乱します。代入演算子の左辺にある「a」がインスタンス変数なのかローカル変数なのかが判断できないためです。そのため、set data メソッドが呼び出されても「a」の値は設定されません。
解決策はthisキーワードです。
「a」と「b」の両方に Java このキーワードの後にドット (.) 演算子が続きます。
コード実行中にオブジェクトがメソッド setdata を呼び出すと、キーワード this はオブジェクトハンドラ「obj」に置き換えられます。(下の画像を参照。)
これでコンパイラは次のように認識します。
- 左辺の「a」はインスタンス変数です。
- 一方、右辺の「a」はローカル変数である。
その variables が正しく初期化され、期待される出力が表示されます。
コンパイラが複数のオブジェクトをどのように処理するか
インスタンス変数とメソッド引数に異なる名前を付けると仮定します。
ただし、今回は、クラスの XNUMX つのオブジェクトを作成し、それぞれが set data メソッドを呼び出します。
コンパイラは、オブジェクト1のインスタンス変数とオブジェクト2のインスタンス変数のどちらを処理対象とするかをどのように判断するのでしょうか?
まあ、 コンパイラが暗黙的に追加する thisキーワードを持つインスタンス変数(下の画像参照)。
オブジェクト 1 が set data メソッドを呼び出しているときに、インスタンス変数がその参照変数によって追加されるようにします。
オブジェクト 2 が set data メソッドを呼び出している間に、オブジェクト 2 のインスタンス変数が変更されます。
コンパイラがこれを自動的に処理します。特別な場合を除き、this キーワードを明示的に追加する必要はありません。
例: このキーワードは Java 自律的AI Code
例: このキーワードの使い方を学ぶには。
ステップ1) 次のコードをメモ帳にコピーします。
class Account{ int a; int b; public void setData(int a ,int b){ a = a; b = b; } public void showData(){ System.out.println("Value of A ="+a); System.out.println("Value of B ="+b); } public static void main(String args[]){ Account obj = new Account(); obj.setData(2,3); obj.showData(); } }
ステップ2) コードを保存、コンパイル、実行してください。
ステップ3) aとbの値がゼロと表示されていますか?エラーを修正するには、6行目と7行目に以下を追加してください。 この キーワード。
this.a =a; this.b =b;
ステップ4) コードを保存、コンパイル、実行してください。今回は、aとbの値はそれぞれ2と3に設定されます。
よくあるご質問
私たちの記事をチェックしてください Java インタビューの質問:- こちらをクリックしてください











