ホームページ > Java > &#&チュートリアル > Java クラスで「this」を使用する必要があるのはどのような場合ですか?

Java クラスで「this」を使用する必要があるのはどのような場合ですか?

Barbara Streisand
リリース: 2024-12-18 10:00:15
オリジナル
599 人が閲覧しました

When Should You Use

Java のクラス内で "this" を使用する場合

Java の "this" キーワードは、操作されている現在のオブジェクトを参照します。一見シンプルに見えますが、初心者にとってその使用法は特に複雑になる可能性があります。この記事は、クラス内で "this" を効果的に使用する時期と理由を明確にすることを目的としています。

Setter での変数参照の曖昧さの解消

Setter メソッドでは、対応する変数と同じ名前の変数がよく見られます。プライベートメンバー変数。これらの変数を区別し、インスタンス変数「this.」にパラメータ値を代入するには、次のようにします。

public class Foo {
    private String name;

    public void setName(String name) {
        this.name = name; // Assigns the parameter "name" to the instance variable "name"
    }
}
ログイン後にコピー

現在のインスタンスを引数として渡す

現在のクラスのインスタンスを引数として他のオブジェクトのメソッドに渡す場合、「this」が必須となります。

public class Foo {
    public String useBarMethod() {
        Bar theBar = new Bar();
        return theBar.barMethod(this);
    }
}

public class Bar {
    public void barMethod(Foo obj) {
        obj.getName(); // Calls the getName() method of the passed Foo instance
    }
}
ログイン後にコピー

コンストラクター内での代替コンストラクターの呼び出し

複数のコンストラクターが存在する場合クラスの場合、「this(...)」を使用して、コンストラクター内から代替コンストラクターを呼び出すことができます。ただし、これはコンストラクターの最初のステートメントである必要があります。

class Foo {
    public Foo() {
        this("Some default value for bar");
    }

    public Foo(String bar) {
        // Do something with bar
    }
}
ログイン後にコピー

追加の使用例

これら 3 つの主要なシナリオは「this」の最も一般的な使用法を表していますが、追加の使用法もいくつかあります。使用できるインスタンス:

  • 明確化されていない場合でも、インスタンス変数を明示的に参照するには必要です。
  • 特にオーバーロードされたメソッドが存在する場合、クラス内のメソッド呼び出しを明確にするため。

以上がJava クラスで「this」を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート