为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA中this有什么作用?

JAVA中this有什么作用?

POPMUISE 2018-10-01 10:06:22
请看下面程序中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[]){ MyDate myBirth=new MyDate(19,11,1987); //利用构造函数初始化; MyDate next=myBirth.addDays(7); //addDays()的返回值是类,将其返回值赋给变量next; next.print(); }}
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

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()方法为属性初始化

查看完整回答
反对 回复 2018-10-21
  • 1 回答
  • 0 关注
  • 843 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信