this
含义:代表当前对象
用法:
- 用于返回对象的引用
示例代码
public class Test {
public Test f() {
return this;//获取当前对象的引用
}
public static void main(String[] args) {
Test test1 = new Test();
Test test2 =test1.f();
if (test1==test2) {
System.out.println("二者指向同一对象");
}
}
}
结果: 二者指向同一对象
- 用于在构造器内部调用构造器
示例代码
public class Test {
public Test() {
System.out.println("无参");
}
public Test(int i){
this(); //调用无参构造器
System.out.println("有一个参数");
}
public Test(int i,int j){
this(i);//调用一个参数的构造器
System.out.println("有两个参数");
}
public static void main(String[] args) {
Test test1 = new Test();
System.out.println("---------");
Test test2 = new Test(1,2);
}
}
结果:
无参
---------
无参
有一个参数
有两个参数
- 指代当前对象,常用于形式参数和变量名相同时做分辨
示例代码
public class Test {
int i=0;
public int g(int i) {
this.i=i;
return 0;
}
public static void main(String[] args) {
Test test1 = new Test();
test1.g(8);
System.out.println(test1.i);
}
}
结果:8