this:当前类的对象
作用:
- 在方法内部获取到对象中的属性信息
- 区分局部变量和成员变量
- 还可以访问其他构造方法(重载)
变量查找顺序:
先找自己方法内的变量,若自己没有,就去this里面找
public class car{
String color;
int speed;
int seat = 5;
public void run(){
```
// 默认会有一个this:当前正在执行这个方法的对象
System.out.println("车能跑");
System.out.println(this.color);
System.out.println(this.speed);
}
```
public void fly() {
System.out.println(this.color+"颜色的车会飞");
System.out.println(color+"颜色的车会飞"); //若没有this关键字直接饮用color,此时访问的也是成员变量
color="白色";
System.out.println(color+"颜色的车会飞"); //此时方法里有变量,故输出的为方法里的
// 变量的查找顺序: 现找自己方法内的变量,若自己没有,就去this里面找
}
public void fly1(String color) {
System.out.println(color); //方法的
System.out.println(this.color); //对象的
}
public static void main(String args[]) {
/*ar c = new car(); //车中的属性就是定义好的成员变量
c.color="红色";
c.speed=120;
c.run(); //在调用方法时,java会自动把对象传递给方法,在方法中由this来接收对象
car c2 = new car();
c2.color="绿色";
c2.speed=180;
c2.run();*/
car c3 = new car();
c3.color="黄色";
c3.fly();
System.out.println();
c3.fly1("彩色");
}
}