Java の this キーワード:概要と例での使用方法
この Java のキーワードは何ですか?
Java のこのキーワード メソッドまたはコンストラクターの現在のオブジェクトを参照する参照変数です。 Java でこのキーワードを使用する主な目的は、同じ名前を持つクラス属性とパラメーターの間の混乱を取り除くことです。
以下は、Java での「this」キーワードのさまざまな使用法です。
- 現在のクラスのインスタンス変数を参照するために使用できます
- 現在のクラス コンストラクターの呼び出しまたは開始に使用できます
- メソッド呼び出しで引数として渡すことができます
- コンストラクタ呼び出しで引数として渡すことができます
- 現在のクラス インスタンスを返すために使用できます
ビデオにアクセスできない場合は、ここをクリックしてください
例を挙げて「this」キーワードを理解してください。
<センター>
<図>
センター>
<オール>コードをコンパイルして実行しましょう
A と B の期待される出力は、それぞれ値 2 と 3 に初期化する必要があります。
しかし、値は 0 です。なぜですか?調べてみましょう。
メソッド Set data では、引数は a および b として宣言され、インスタンス変数も a および b として名前が付けられます。
実行中、コンパイラは混乱します。割り当てられた演算子の左側の「a」がインスタンス変数かローカル変数か。したがって、メソッド セット データが呼び出されたときに、'a' の値は設定されません。
解決策は「this」キーワードです
「a」と「b」の両方に、Java の this キーワードとそれに続くドット (.) 演算子を追加します。
オブジェクトがメソッド「setdata」を呼び出すときのコード実行中。キーワード「this」は、オブジェクト ハンドラ「obj」に置き換えられます。 (下の画像を参照してください)。
これで、コンパイラーは、
- 左側の「a」はインスタンス変数です。
- 右側の「a」はローカル変数です
変数は正しく初期化され、期待される出力が表示されます。
インスタンス変数とメソッドの引数に異なる名前を選択できるほど頭が良いとします。
しかし今回は、クラスの 2 つのオブジェクトを作成し、それぞれが set data メソッドを呼び出します。
コンパイラがオブジェクト 1 またはオブジェクト 2 のインスタンス変数で動作するかどうかを判断する方法。
まあ、コンパイラは暗黙的に追加します 「this」キーワードを含むインスタンス変数 (下の画像)。
オブジェクト 1 が set data メソッドを呼び出すときに、インスタンス変数がその参照変数によって追加されるようにします。
オブジェクト 2 が set data メソッドを呼び出している間に、オブジェクト 2 のインスタンス変数が変更されます。
このプロセスは、コンパイラ自体によって処理されます。この例のように例外的な状況がない限り、「this」キーワードを明示的に追加する必要はありません。
例: 「this」キーワードの使い方を学ぶ
ステップ 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」を追加します 」キーワード。
this.a =a; this.b =b;
ステップ 4) コードを保存、コンパイル、実行します。今回は、a と b の値をそれぞれ 2 と 3 に設定します。
まとめ
- これ Java のキーワードは、現在のオブジェクトを参照する参照変数です。
- Java でこのキーワードを使用する方法の 1 つは、現在のクラス インスタンス変数を参照することです
- 現在のクラス コンストラクターの呼び出しまたは開始に使用できます
- メソッド呼び出しで引数として渡すことができます
- Java のこのポインタは、コンストラクタ呼び出しで引数として渡すことができます
- Java のこの演算子は、現在のクラス インスタンスを返すために使用できます
- Java の this は、メソッドが呼び出されている現在のオブジェクトへの参照です。
- 「this」キーワードを使用して、インスタンス/オブジェクトのメソッド/コンストラクターでの名前の競合を回避できます。
Java
- Java このキーワード
- 例を使用したC#のインターフェイスとは
- C# キューと例:C# キューとは何ですか? 使用方法は?
- C ライブラリの free() 関数:使い方は?例で学ぶ
- Java Hello World:サンプルを使用して初めての Java プログラムを作成する方法
- Java の String Length() メソッド:例で見つける方法
- Java String charAt() メソッドと例
- Java String compareTo() メソッド:例での使用方法
- 例を使用したJava文字列のendsWith()メソッド
- Java BufferedReader:例を使用して Java でファイルを読み取る方法
- プログラム例を使用した Java の挿入ソート アルゴリズム