情景分析:
1、用于解决成员变量与成员方法中的形参名称相同问题,如下:
public class AnyThing {
private String name;
private void setThing(String name) {
this.name = name;//区分成员变量与形参名相同,this.name指的是AnyThing中的成员变量name。
}
}
Ps:事实上,this引用的就是本类的一个对象~
2、作为成员方法的返回值:public class AnyThing {
public AnyThing getName() {
return this; //返回AnyThing类引用
}
}
3、this还可以调用类中的构造方法(无参构造方法中使用this调用有参构造方法,且this只能放在第一行):
public class AnyThing {
public AnyThing() { //定义无参构造方法
this("this调用有参构造方法"); //使用this关键字调用有参构造方法。注意!只能将this放在第一句!!!
System.out.println("无参构造方法");
}
public AnyThing(String name) { //定义有参构造方法
System.out.println("有参构造方法");
}
public static void main(String[] args) {
new AnyThing();
}
}
运行结果:
4、在静态方法中不可使用this关键字。
Ps:暂时就发现这几点~