一、为什么有this引用
首先,看以下代码:
public class Date {
public int year;
public int month;
public int day;
public void InitDay(int year,int month,int day){
year=year;
month=month;
day=day;
}
public void PrintDay(){
System.out.println(year+" "+month+" "+day);
}
public static void main(String[] args) {
Date d=new Date();
d.InitDay(1990,1,1);
d.PrintDay();
}
}
此代码的运行结果为:
由以上代码及运行结果可知,当形参名与成员变量名相同时,函数体中的赋值关系不清楚,因此需要运用this引用打开这层神秘的面纱。
二、this引用的特性
1.this对应类类型的引用。
2.this只能在“成员方法”中使用。
3.一般情况下,this引用是由编译器自动添加的。