首先this是一个关键字,其次他的一个作用是用来引用成员变量的,用于方法中的形参和成员变量名字一样的时候,用this来区别。防止该方法的形参和类中的成员变量冲突。
应用到的JAVA语法:
- 成员变量的作用范围>形式参数作用范围
- Java语言规定当变量作用范围重叠时,作用域小的变量覆盖作用域大的变量
- this的作用是引用成员变量
所以冲突的时候,形参的值就起作用了,但是形参一般会是系统默认值,无法应用实际参数。而无法引用赋值了的成员变量,所以要用this。
没有this的时候输出的结果:
主方法中的代码:
package com.itheima_03;
public class CarTest {
public static void main(String[] args) {
Car honda=new Car("CR-V",600000);
honda.show();
}
}
类中的代码:
public Car(String name,int price){ name=name; price=price; }
有this的时候:
主方法区:
public class CarTest { public static void main(String[] args) { Car honda=new Car("CR-V",600000); honda.show(); } }
类中的代码:
public Car(String name,int price){ this.name=name; this.price=price; }
输出的结果: