3

Java では、 thisキーワードをオブジェクトに明示的にバインドする必要はなく、インタープリターによって行われることを読みました。thisの値を常に知っておく必要がある Javascript とは逆です。しかし、これはJavaのどこにあるのでしょうか?クラスまたはオブジェクトを指していますか? それとも異なりますか?この質問は、基本的な OO の概念と設計パターンを理解し、それらを Javascript に適用できるようにするための私の試みの一部です。ありがとうございました。

4

7 に答える 7

8

Java では、this常にオブジェクトを参照し、クラスを参照することはありません。

于 2012-05-19T15:03:20.390 に答える
1

Java 言語仕様には、次のように記載されています。

一次式として使用される場合、キーワード this は、インスタンス メソッドが呼び出されたオブジェクト (§15.12) への参照、または構築中のオブジェクトへの参照である値を示します。

つまり、クラスではなく、常にオブジェクトを指します。

于 2012-05-19T15:05:50.327 に答える
1

Java では「this」はキーワードであり、基本的に現在のオブジェクトを参照するために使用されます。次の例では、setter メソッドは「this」を使用して、現在のオブジェクトの名前と年齢の値を設定しています。

public class Person {

  String name;
  int age;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public static void main(String[] args) {
    Person p = new Person();
    p.setName("Rishi");
    p.setAge(23);
    System.out.println(p.getName() + " is " + p.getAge() + " years old");
  }
}
于 2013-01-07T15:20:33.590 に答える
1

Javaでthis is refer Current object

お気に入り

public class Employee{

String name,adress;

Employee(){

 this.name="employee";
 this.address="address";

}

}
于 2012-05-19T15:04:53.227 に答える
1

this現在のオブジェクトを参照します。

インスタンス メソッドまたはコンストラクター内では、これは現在のオブジェクト (メソッドまたはコンストラクターが呼び出されているオブジェクト) への参照です。this を使用して、インスタンス メソッドまたはコンストラクター内から現在のオブジェクトの任意のメンバーを参照できます。

于 2012-05-19T15:04:56.377 に答える
0

公式ドキュメントから(ここにあります):

インスタンス メソッドまたはコンストラクター内でthisは、現在のオブジェクト (メソッドまたはコンストラクターが呼び出されているオブジェクト) への参照です。this を使用して、インスタンス メソッドまたはコンストラクター内から現在のオブジェクトの任意のメンバーを参照できます。

これが意味することは、任意のクラスのコード内で を記述するときthisに、現在のオブジェクトを参照しているという事実を指定するということです。

補足として、this静的フィールドまたはメソッドは特定のオブジェクト (クラスのインスタンス) に属していないため、使用できません。

于 2012-05-19T15:05:37.633 に答える