java里的“this”到底是什么意思我在看thinking in java这本书,this这个概念实在看不太明白,求高手用比较贴切的方式解释一下.必+50分.比如有this和没有this的区别?打个比方?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/26 03:25:47
java里的“this”到底是什么意思我在看thinking in java这本书,this这个概念实在看不太明白,求高手用比较贴切的方式解释一下.必+50分.比如有this和没有this的区别?打个比方?
xT_OP*ۖ5=7X#UYRQ8V@)lNw1ܖ'}mB{zK}I2coe-!!tbʤ*ijHBP"DzMZ7Bzp֤U\ і}u$J}vtJz2=0yZj o> 2.^SeyڻYx?*޳^e<  zV'E;:KhšvZ58\݃ieu˼SjWCFi JYxm9\VBhT#઴o"u_/EX -޻ J1/7[_ P+GF8$ 1qwda"䋳w8l Qd8t5Pj]r.VGw~_g[Pz);ٜ%~]}k

java里的“this”到底是什么意思我在看thinking in java这本书,this这个概念实在看不太明白,求高手用比较贴切的方式解释一下.必+50分.比如有this和没有this的区别?打个比方?
java里的“this”到底是什么意思
我在看thinking in java这本书,this这个概念实在看不太明白,求高手用比较贴切的方式解释一下.必+50分.
比如有this和没有this的区别?
打个比方?

java里的“this”到底是什么意思我在看thinking in java这本书,this这个概念实在看不太明白,求高手用比较贴切的方式解释一下.必+50分.比如有this和没有this的区别?打个比方?
this代表当前对象的意思.
这个this肯定是用在某个类的方法里吧.我们继续往下说.
举个例子:
public class persion{
private String name=null;
private int age;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
在这个类中setName方法中第一个变量用this是为了和本方法的参数this做区别,表示这个name指的是Person这个类的name属性,而不是name参数,如果去掉这个this,执行完这个方法后,Person类的name属性仍然为null
getName方法返回的Person类的name,之所以不用this是因为没有必要,因为编译器会知道这个name就指的是Person的name而不是其他的name(因为找个方法没有name变量和它混淆).当然,这个方法你也可以显示的使用return this.name,没错.
这些都是最基本的了.开始学只要记住这个就可以了.慢慢的其他的用法也就无师自通了!