java这个关键字

时间:2012-05-19 15:01:03

标签: java this

我已经读过,在Java中你不必将 this 关键字显式绑定到object,它由解释器完成。它与Javascript相反,您始终必须知道的值。但是Java中的这个在哪里指向 - 类或对象?或者它有变化吗? 这个问题是我尝试理解基本OO概念和设计模式的一部分,因此我可以将它们应用于Javascript。 谢谢。

7 个答案:

答案 0 :(得分:9)

在Java中,this总是引用一个对象,而不是一个类。

答案 1 :(得分:2)

this指的是当前对象。

在实例方法或构造函数中,这是对当前对象的引用 - 正在调用其方法或构造函数的对象。您可以使用此方法从实例方法或构造函数中引用当前对象的任何成员。

答案 2 :(得分:2)

Java language specification州:

  

当用作主表达式时,关键字this表示值   这是对实例方法所针对的对象的引用   调用(§15.12),或者被构造的对象。

即。它总是指向一个对象,而不是一个类。

答案 3 :(得分:1)

在java this is refer Current object

public class Employee{

String name,adress;

Employee(){

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

}

}

答案 4 :(得分: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");
  }
}

答案 5 :(得分:0)

从官方文档(找到here):

  

在实例方法或构造函数中,this是对它的引用   当前对象 - 其方法或构造函数所在的对象   调用。您可以从内部引用当前对象的任何成员   使用它的实例方法或构造函数。

这意味着在任何类的代码中,当您编写this时,您指定了您引用当前对象的事实。

作为旁注,您不能将this与静态字段或方法一起使用,因为它们不属于任何特定对象(类的实例)。

答案 6 :(得分:0)

此关键字始终用于引用当前类的对象。 其中this()用于当前类的构造函数。 例如:

    class circle {
        
        public int radius;
        public Circle() {
           this.radius = 10; //any default value
        }

        public Circle(int radius) {
           this.radius = radius  // here this.radius will set instance variable radius
        }
        public int areaOfCircle() {
              return 3.14*radius*radius;
        }
    }