首先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的方法。