工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java this キーワード完全マスター:目的、用法、実践例

Java における this キーワードとは?

this キーワードは、現在のオブジェクトインスタンスを参照する参照変数です。最も一般的な用途は、同じ名前を持つインスタンス変数とパラメータ(またはローカル変数)を区別することです。

this の主な用途:

なぜ this が不可欠なのか

メソッドのパラメータがインスタンス変数をシャドーイング(隠蔽)するクラスを考えてみましょう:

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();
    }
}

このコードを実行すると、A と B の両方が 0 と表示されます。代入がローカルパラメータに対して行われ、インスタンスフィールドには影響しないためです。これを解決するには、インスタンスフィールドに this を付けます:

public void setData(int a, int b) {
    this.a = a;
    this.b = b;
}

これで正しく出力されます:

Value of A = 2
Value of B = 3

コンパイラが this をどう扱うか

オブジェクトのメソッドを呼び出すとき(例:obj.setData())、コンパイラは内部的にインスタンス変数を this が付いたものとして扱います。したがって、各オブジェクトは独自のフィールドコピーを保持し、メソッドを呼び出したオブジェクトに基づいて正しいインスタンスが更新されます。

実践例

  1. クラス定義: Account
  2. インスタンス変数: a と b
  3. メソッド setData: this を使って a と b に値を代入
  4. メソッド showData: a と b の現在値を表示
  5. main メソッド: Account オブジェクトを作成し、データを設定して表示

修正済みコードをコンパイルして実行すると、出力は以下のようになります:

Value of A = 2
Value of B = 3

this のまとめ

this を適切に使用することで、コードの明確性が向上し、エラーが減り、オブジェクト指向の原則への深い理解を示せます。

Java

  1. C#インターフェース完全解説:定義、実装例、実践的活用法
  2. C# Queue完全ガイド:Enqueue、Dequeue、FIFO操作の実例解説
  3. C言語free()関数完全マスター:実践ガイドと例
  4. Javaのthisキーワード徹底解説:実践的な用法とコンストラクタ活用
  5. Java Hello World:最初のJavaプログラム作成ステップバイステップガイド
  6. Java String.length()メソッド:文字列サイズ取得の実例解説
  7. Java String.charAt()完全解説:構文、戻り値、例外、実例
  8. Java String.compareTo()マスター:構文、ユースケース、実践例
  9. Java String.endsWith()マスター:文字列サフィックスチェック実例付き
  10. Java BufferedReader でファイル読み込み:実践ガイドと例
  11. Javaで挿入ソート:わかりやすい例とステップバイステップガイド