首先this作为关键字其实是随着对象的创建而产生的,当我们调用对象的一个方法的时候:
例如:
A a = new A();
a.f(1) 其实我们可以理解为a.f(a,1) 编译器默默的把所操作的对象的引用作为第一个参数传递给了f()。 而this就代表了这个引用。 this只能在方法内部使用,表示“调用该方法的那个对象的引用”
this调用类中的属性就不多说了,就表示传进来的对象调用属性。
重点记录一下this语句, 如果想在构造函数里面调用构造函数的话就必须用到了this语句。给出一个例子来说明this语句的用法
import java.math.BigInteger;
import java.util.Scanner; public class Main { public int i;
public String s; Main(){
System.out.println("默认构造函数");
}
Main(int i) {
this.i = i;
}
Main(String s) {
this.s = s;
}
Main(String s, int i) {
this(s);
//this(i); 一个方法里面不能出现两个this语句, 而且this语句必须在第一行
this.i = i;
}
public void show() {
//this("a", 2); 不是构造函数的里面不能调用this语句
this.i = 2; this.s = "a";
System.out.println(s + " " + i);
} public static void main(String x[]) { } }
我们可以在这加一句对static的理解, static方法就是没有this的方法。