概念
- Java中为解决变量的命名冲突和不确定性问题,引⼊关键字this代表其所在⽅法的当前对象的引⽤
- this只能在类中的⾮静态⽅法中使⽤,静态⽅法和静态的代码块中绝对不能出现this
- 原因:static⽅法在类加载时就已经存在了,但是对象是在创建时才在内存中⽣成。
三种情况可用到this关键字:
1) 构造⽅法中指该构造器所创建的新对象;
public class B{
A a; //A是⼀个类
public B(A a){
this.a = a;
}
}
2) ⽅法中指调⽤该⽅法的对象;
public class Baby{
public void wakeUp(){
System.out.println("宝宝醒啦");
}
public void eat(){
this.wakeUp();
System.out.println("吃东⻄");
}
}
3) 在类本身的⽅法或构造器中引⽤该类的实例变量(全局变量)和⽅法
public void setName(String name){
this.name=name
}