设计目的:为了在方法内部获得对当前对象的引用。
this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。
如果在方法内部调用同一个类的另一个方法就不必用this,可以直接调用。
public class test{
void a(){}
void b(){a()}
}
用来将当前对象传递给其他方法
class A{
static void test(B b);
}
class B{
void test1(){
return A.test(this);
}
}
一个类有多个构造器,在一个构造器中调用另一个构造器。
Test(String s){
return s
}
Test(int i){
this("123");
return i;
}
通常由于参数的名字和数据成员的名字相同,会产生歧义,用this.数据成员 代表数据成员就能解决这个问题。
public User(String id) {
this.id = id;
}
static方法就是没有this的方法,在static方法内部不能调用非静态的方法。