this代表当前对象的调用
小结:this哪个对象调用,就代表哪个对象
this的注意事项和使用细节
1.this关键字可以用来访问本类的属性,方法,构造器
2.this用于区分当前类的属性和局部变量
3.访问成员方法的语法:this.方法名(参数列表);
4.访问构造器语法:this(参数列表);注意只能在构造器中使用(只能在构造器中访问另一个构造器)
5.this不能在类定义的外部使用,只能在类定义的方法中使用
public static void main(String[] args) {
TTTT t1=new TTTT();
t1.f2();
TTTT t2=new TTTT();
t2.f3();
}
}
class TTTT{
String name="jack";
int num=20;
//访问构造器语法:this(参数列表);
// 注意只能在构造器中使用(只能在构造器中访问另一个构造器)
//必须放置第一条语句;
public TTTT(){
this("jack",20);
System.out.println("访问TTTT()");
}
public TTTT(String name,int age){
System.out.println("访问TTTT(String name,int age)");
System.out.println("名字"+name+"年龄"+age);
}
public void f3(){
String name="simth";
//传统方法调用
System.out.println("name="+name+" num="+num);//就近原则,输出simth,20;
//也可以使用this访问属性;
System.out.println("name="+this.name+" num="+this.num);//输出Jack,20
}
//this 可以访问成员方法的语法:this方法名(参数列表)
public void f1(){
System.out.println("访问f1的方法");
}
public void f2(){
System.out.println("访问f2方法");
/*
调用本类的f1
第一种方法
f1();
第二种方法
this.f1();
*/
f1();
this.f1();
}
}
课堂案列
定义Person类,里面有name,age属性,并提供compareTo比较方法,用于判断是否和另一个
人相同,提供测试类TestPerson用于测试,名字和年龄完全一样,就返回true,否则返回false;