本帖最后由 张红兴 于 2015-4-6 00:56 编辑
java中this有两种用法:
1、代表当前类
publicclassDog{
privateStringname;
privatefloatage;
publicsetName(Stringname){
this.name=name;
}
.......
}
这里的this就代表的当前的这个Dog类。this.name可以理解为dog.name,只是理解,不是等于。
之所以要用this.name=name;这种语法,这是java所提倡的写法,如果你的方法参数与类属性的名称不同,this大可不必要,但是java提倡构造方法参数与类属性名称相同的作法。
2、在构造函数中的使用
publicclassDog{
privateStringname;
privateintage;
//有一个参数的构造函数
publicDog(Stringname){
this.name=name;
}
publicDog(Stringname,intage){
this.name=name;
this.age=age;
}
//这个无参构造方法里调用的有两个参数的构造方法,这个也就是this的第二种用法了!
publicDog(){
this("nihao",20);
}
} |