4.this关键字(this key word) (视频下载) (全部书籍)
继上一小节,(3.一个对象可能有多个参考)this是当中的一个参考!指向他自己。
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);
System.out.println(date);
date.setYear(2009);
date.setMonth(5);
System.out.println(date);
MyTestDate date1 = new MyTestDate(2009, 1, 1);
System.out.println(date1);
date1.setYear(2006);
date1.setMonth(6);
System.out.println(date1);
}
}
result is:
2009/7
2009/5
2009/1
2006/6
【新手可忽略不影响继续学习】(视频下载) (全部书籍) 下面例子中setYear中的return this;返回了一个指向对象的指针,this.setMonth(8).setDay(20);是合法的,如果像原来的例子一样什么都不返回,就成了void.setMonth(8).setDay(20); 马克-to-win,系统就该报错了
class MyTestDate {
int year;
int month;
MyTestDate(int year, int month, int day) {
this.year = year;
this.month = month;
}
MyTestDate setYear(int year) {
this.year = year;
return this;
}
public MyTestDate setMonth(int month) {
this.month = month;
return this;
}
public String toString() {
return "" + year + "/" + month ;
}
}
public class Test {
public static void main(String[] args) {
MyTestDate date = new MyTestDate(2009, 7, 18);
System.out.println(date);
date.setYear(2009).setMonth(8);
System.out.println(date);
MyTestDate date1 = new MyTestDate(2009, 1, 1);
。。。。。。。。。。。。。。。
继续阅读与本文标签相同的文章
阿里云@广东:让我们一起上云!
Google承诺用道德原则指导军事AI的发展
-
新能力丨困扰商家已久的“分账问题”终于被解决了!
2026-05-18栏目: 教程
-
在线PDF加密,你的隐私你做主!
2026-05-18栏目: 教程
-
浅谈物联网用户体验目标的变化
2026-05-18栏目: 教程
-
Linux基础命令---host域名查询工具
2026-05-18栏目: 教程
-
Apache Flink Meetup 北京站,可能有你最想听的技术干货!
2026-05-18栏目: 教程
