马克社区吧 关注:483贴子:445
  • 0回复贴,共1

java中this这个概念初学者非常难理解,请举例说明

只看楼主收藏回复

4.this关键字(this key word)

继上一小节,(3.一个对象可能有多个参考)this是n多个参考当中的一个参考,是系统赋予的,与生俱来的,当对象产生了以后就自动具有了this这个参考了!this这个对象指向他自己。Any object has a “this” reference which refer to itself. So, You can use this reference to refer to the current object.


本章源码
class MyTestDate {
int year;
int month;

MyTestDate(int year, int month, int day) {
/*为了学习this的用法,本例中,我们故意用了两个相同的year,一个是全类作用范围的(整个类中都有效马克-to-win):int year; 另外一个是,只有本块儿才起作用的块作用范围的MyTestDate(int year, 这两个year不是一个year,如果把this.year = year; 变成 year = year,这两个year都成了块作用范围的那个year, 这样全类作用范围的那个year等于没赋值,还是0,输出结果就会变成0/0/0, if here you use year = year;month = month; result is 0/0/0, because this.year still is 0.local variable 's scope is less than the "this" variable's scope.
*/
this.year = year;//this.year指前面类范围的变量 int year。
this.month = month;
}

void setYear(int year) {
this.year = year;

}

void setMonth(int month) {
this.month = month;

}


/*系统见到System.out.println,会自动调用toString,初学者没必要深究*/
public String toString() {
return "" + year + "/" + month ;
}
}

public class Test {
public static void main(String[] args) {
MyTestDate date = new MyTestDate(2009, 7, 18);
。。。。。。。。。。。。。。。。
详情请见:
http://www.mark-to-win.com/JavaBeginner/JavaBeginner2_web.html#This


扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!