Java中的“ this”参考
这个关键字
'this'关键字用于引用当前正在使用的对象。以下是使用此关键字的方案。
它用于区分传递的参数与实例变量。
它用于调用当前的类构造函数。
它用于返回当前对象。
它用于将当前对象作为方法参数传递。
它用于调用当前对象的方法。
它用于将当前对象作为构造函数参数传递。
示例
创建一个名为Tester的Java类。
测试器
public class Tester { private int a, b; //方案1: //用于区分通过实例变量传递的参数。 public Tester(int a, int b) { this.a = a;// a = a has no effect, so 'this' is required. this.b = b; } //方案2: //用于调用当前类的构造函数 public Tester() { this(0,0);//Tester(0,0) : throws error: Method Tester is undefined. } //方案3: //可以用来返回当前对象 public Tester getCurrentObject() { return this; } //方案4: //可以用来传递当前对象 private void display(Tester tester) { tester.display(); } public void displayValues() { display(this); } //方案5: //可以用来调用当前对象的方法 public void print() { this.display(); } //方案6: //可用于将当前对象作为构造函数参数传递。 public Tester(Tester tester) { this.a = tester.a; this.b = tester.b; } public void display() { System.out.println("a = " + a + ", b = " + b); } public static void main(String args[]) { Tester tester = new Tester(1,2); System.out.println("方案1: "); tester.display(); Tester tester1 = new Tester(); System.out.println("方案2: "); tester1.display(); System.out.println("方案3: "); tester.getCurrentObject().display(); System.out.println("方案4: "); tester.displayValues(); System.out.println("方案5: "); tester.print(); Tester tester2 = new Tester(tester); System.out.println("方案6: "); tester2.display(); } }
输出结果
编译并运行文件以验证结果。
方案1: a = 1, b = 2 方案2: a = 0, b = 0 方案3: a = 1, b = 2 方案4: a = 1, b = 2 方案5: a = 1, b = 2 方案6: a = 1, b = 2