JAVA中this有什么作用?

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:05:02
请看下面程序中
MyDate newDay=new MyDate(this);
this是什么作用?

class MyDate{
private int day;
private int month;
private int year; //定义三个成员变量;
public MyDate(int day,int month,int year){
this.day=day;
this.month=month;
this.year=year;
} //构造方法;
public MyDate(MyDate date){
this.day=date.day;
this.month=date.month;
this.year=date.year; //将参数Date类中的成员变量赋给MyDate类;
} //构造方法;
public int getDay(){
return day;
}//方法;
public void setDay(int day){
this.day=day;//参数Day赋给此类中的Ddy;
}
public MyDate addDays(int moreDay){
MyDate newDay=new MyDate(this);
newDay.day=newDay.day+moreDay;
return newDay; //返回整个类;
}
public void print(){
System.out.println("My Date: "+year+"-"+month+"-"+day);
}
}
public class TestMyDate{
public static void main(String args[])

this就是当前类(MyDate)的一个代号。

在setter()方法里最能体现。

例如:
public class Test{
int i;

public void setI(int i){
this.i = i;
}
}

setI()方法的参数名为i,Test类的属性也为i,所以在setI()方法中必须用this指定具体是哪一个i。

this.i 就代表了当前类(Test)的属性i。这样才可以通过setI()方法为属性初始化。

this指代当前类,this后指代当前类的域(成员变量)和方法。

执向本类的相同的实例对象-换句话说,就是指向自己

this表示当前类的对象

要上面的抢去了